2009-09-10 12:38:51 +02:00
|
|
|
http://sources.redhat.com/bugzilla/show_bug.cgi?id=6693
|
|
|
|
|
2009-02-20 08:46:43 +01:00
|
|
|
Index: sysdeps/unix/sysv/linux/x86_64/clone.S
|
|
|
|
===================================================================
|
2009-11-16 09:54:19 +01:00
|
|
|
--- sysdeps/unix/sysv/linux/x86_64/clone.S.orig
|
|
|
|
+++ sysdeps/unix/sysv/linux/x86_64/clone.S
|
|
|
|
@@ -89,9 +89,6 @@ L(pseudo_end):
|
2009-02-20 08:46:43 +01:00
|
|
|
ret
|
|
|
|
|
|
|
|
L(thread_start):
|
|
|
|
- cfi_startproc;
|
|
|
|
- /* Clearing frame pointer is insufficient, use CFI. */
|
|
|
|
- cfi_undefined (rip);
|
|
|
|
/* Clear the frame pointer. The ABI suggests this be done, to mark
|
|
|
|
the outermost frame obviously. */
|
|
|
|
xorl %ebp, %ebp
|
2009-11-16 09:54:19 +01:00
|
|
|
@@ -116,7 +113,6 @@ L(thread_start):
|
2009-02-20 08:46:43 +01:00
|
|
|
/* Call exit with return value from function call. */
|
|
|
|
movq %rax, %rdi
|
|
|
|
call HIDDEN_JUMPTARGET (_exit)
|
|
|
|
- cfi_endproc;
|
|
|
|
|
|
|
|
cfi_startproc;
|
|
|
|
PSEUDO_END (BP_SYM (__clone))
|
|
|
|
Index: sysdeps/unix/sysv/linux/i386/clone.S
|
|
|
|
===================================================================
|
2009-11-16 09:54:19 +01:00
|
|
|
--- sysdeps/unix/sysv/linux/i386/clone.S.orig
|
|
|
|
+++ sysdeps/unix/sysv/linux/i386/clone.S
|
|
|
|
@@ -120,9 +120,6 @@ L(pseudo_end):
|
2009-02-20 08:46:43 +01:00
|
|
|
ret
|
|
|
|
|
|
|
|
L(thread_start):
|
|
|
|
- cfi_startproc;
|
|
|
|
- /* Clearing frame pointer is insufficient, use CFI. */
|
|
|
|
- cfi_undefined (eip);
|
|
|
|
/* Note: %esi is zero. */
|
|
|
|
movl %esi,%ebp /* terminate the stack frame */
|
|
|
|
#ifdef RESET_PID
|
2009-11-16 09:54:19 +01:00
|
|
|
@@ -155,7 +152,6 @@ L(nomoregetpid):
|
2009-02-20 08:46:43 +01:00
|
|
|
jmp L(haspid)
|
|
|
|
.previous
|
|
|
|
#endif
|
|
|
|
- cfi_endproc;
|
|
|
|
|
|
|
|
cfi_startproc
|
|
|
|
PSEUDO_END (BP_SYM (__clone))
|