[COMMITTED] x86: Consolidate NPTL/non versions of clone

Message ID 20140514171755.284C92C39DB@topped-with-meat.com
State Committed
Headers

Commit Message

Roland McGrath May 14, 2014, 5:17 p.m. UTC
  Verified on x86_64-linux-gnu and i686-linux-gnu that no libc.so code
changes.

Thanks,
Roland


	* 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.
  

Patch

--- a/nptl/sysdeps/unix/sysv/linux/i386/clone.S
+++ /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
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/clone.S
+++ /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
--- a/sysdeps/unix/sysv/linux/i386/clone.S
+++ b/sysdeps/unix/sysv/linux/i386/clone.S
@@ -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
--- a/sysdeps/unix/sysv/linux/x86_64/clone.S
+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S
@@ -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.  */