aboutsummaryrefslogtreecommitdiff
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.zip
glibc-941d7dfd247bc116b89ec97d530d618b5862a80f.tar.gz
glibc-941d7dfd247bc116b89ec97d530d618b5862a80f.tar.bz2
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 9e8de5c..f38e8b7 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 675a997..0000000
--- 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 675a997..0000000
--- 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 c8dd2e4..8fc651d 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 0508730..2b71c1b 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. */