about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2014-05-14 10:16:27 -0700
committerRoland McGrath <roland@hack.frob.com>2014-05-14 10:16:27 -0700
commit941d7dfd247bc116b89ec97d530d618b5862a80f (patch)
tree152cede4caef7c9759b8c468900778494e483f23
parent1b731c35e6ed316076d9a61d3e8d683cb9255523 (diff)
downloadglibc-941d7dfd247bc116b89ec97d530d618b5862a80f.tar.gz
glibc-941d7dfd247bc116b89ec97d530d618b5862a80f.tar.xz
glibc-941d7dfd247bc116b89ec97d530d618b5862a80f.zip
x86: Consolidate NPTL/non versions of clone
-rw-r--r--ChangeLog6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/clone.S9
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/clone.S9
-rw-r--r--sysdeps/unix/sysv/linux/i386/clone.S9
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/clone.S2
5 files changed, 6 insertions, 29 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e8de5ca63..f38e8b7509 100644
--- 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
index 675a997e97..0000000000
--- 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
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
index 675a997e97..0000000000
--- 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
diff --git a/sysdeps/unix/sysv/linux/i386/clone.S b/sysdeps/unix/sysv/linux/i386/clone.S
index c8dd2e4a37..8fc651d66c 100644
--- 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
diff --git a/sysdeps/unix/sysv/linux/x86_64/clone.S b/sysdeps/unix/sysv/linux/x86_64/clone.S
index 0508730d83..2b71c1b240 100644
--- 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.  */