x86: Consolidate NPTL/non versions of clone
authorRoland McGrath <roland@hack.frob.com>
Wed, 14 May 2014 17:16:27 +0000 (10:16 -0700)
committerRoland McGrath <roland@hack.frob.com>
Wed, 14 May 2014 17:16:27 +0000 (10:16 -0700)
ChangeLog
nptl/sysdeps/unix/sysv/linux/i386/clone.S [deleted file]
nptl/sysdeps/unix/sysv/linux/x86_64/clone.S [deleted file]
sysdeps/unix/sysv/linux/i386/clone.S
sysdeps/unix/sysv/linux/x86_64/clone.S

index 9e8de5c..f38e8b7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2014-05-14  Roland McGrath  <roland@hack.frob.com>
 
+       * sysdeps/unix/sysv/linux/x86_64/clone.S: Deconditionalize the code
+       that was previously under [RESET_PID].
+       * sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
+       * nptl/sysdeps/unix/sysv/linux/x86_64/clone.S: File removed.
+       * nptl/sysdeps/unix/sysv/linux/i386/clone.S: File removed.
+
        * sysdeps/i386/nptl/Implies: New file.
        * sysdeps/x86_64/nptl/Implies: New file.
        * nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h: Moved ...
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/clone.S b/nptl/sysdeps/unix/sysv/linux/i386/clone.S
deleted file mode 100644 (file)
index 675a997..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
-   So, #include ourselves and in that incarnation we can use #include_next.  */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/clone.S b/nptl/sysdeps/unix/sysv/linux/x86_64/clone.S
deleted file mode 100644 (file)
index 675a997..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
-   So, #include ourselves and in that incarnation we can use #include_next.  */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif
index c8dd2e4..8fc651d 100644 (file)
@@ -74,9 +74,6 @@ ENTRY (__clone)
        movl    %eax,8(%ecx)
        /* Don't leak any information.  */
        movl    $0,4(%ecx)
-#ifndef RESET_PID
-       movl    $0,(%ecx)
-#endif
 
        /* Do the system call */
        pushl   %ebx
@@ -95,10 +92,8 @@ ENTRY (__clone)
        cfi_rel_offset (edi, 0)
        movl    $SYS_ify(clone),%eax
 
-#ifdef RESET_PID
        /* Remember the flag value.  */
        movl    %ebx, (%ecx)
-#endif
 
        /* End FDE now, because in the child the unwind info will be
           wrong.  */
@@ -121,11 +116,9 @@ L(thread_start):
        cfi_undefined (eip);
        /* Note: %esi is zero.  */
        movl    %esi,%ebp       /* terminate the stack frame */
-#ifdef RESET_PID
        testl   $CLONE_THREAD, %edi
        je      L(newpid)
 L(haspid):
-#endif
        call    *%ebx
 #ifdef PIC
        call    L(here)
@@ -137,7 +130,6 @@ L(here):
        movl    $SYS_ify(exit), %eax
        ENTER_KERNEL
 
-#ifdef RESET_PID
        .subsection 2
 L(newpid):
        testl   $CLONE_VM, %edi
@@ -150,7 +142,6 @@ L(nomoregetpid):
        movl    %eax, %gs:TID
        jmp     L(haspid)
        .previous
-#endif
        cfi_endproc;
 
        cfi_startproc
index 0508730..2b71c1b 100644 (file)
@@ -92,7 +92,6 @@ L(thread_start):
           the outermost frame obviously.  */
        xorl    %ebp, %ebp
 
-#ifdef RESET_PID
        testq   $CLONE_THREAD, %rdi
        jne     1f
        testq   $CLONE_VM, %rdi
@@ -103,7 +102,6 @@ L(thread_start):
 2:     movl    %eax, %fs:PID
        movl    %eax, %fs:TID
 1:
-#endif
 
        /* Set up arguments for the function call.  */
        popq    %rax            /* Function to call.  */