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 ...
+++ /dev/null
-/* 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
+++ /dev/null
-/* 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
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
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. */
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)
movl $SYS_ify(exit), %eax
ENTER_KERNEL
-#ifdef RESET_PID
.subsection 2
L(newpid):
testl $CLONE_VM, %edi
movl %eax, %gs:TID
jmp L(haspid)
.previous
-#endif
cfi_endproc;
cfi_startproc
the outermost frame obviously. */
xorl %ebp, %ebp
-#ifdef RESET_PID
testq $CLONE_THREAD, %rdi
jne 1f
testq $CLONE_VM, %rdi
2: movl %eax, %fs:PID
movl %eax, %fs:TID
1:
-#endif
/* Set up arguments for the function call. */
popq %rax /* Function to call. */