1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/glibc/2.9/160-i386-x86_64-revert-clone-cfi.patch Mon Jan 23 18:41:34 2012 +0100
1.3 @@ -0,0 +1,53 @@
1.4 +Original patch from: gentoo/src/patchsets/glibc/2.9/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch
1.5 +
1.6 +-= BEGIN original header =-
1.7 +revert cfi additions to clone on i386/x86_64 to workaround problems in
1.8 +gcc's unwinder code. this is not a bug in glibc, it triggers problems
1.9 +elsewhere. this cfi code does not gain us a whole lot anyways.
1.10 +
1.11 +http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html
1.12 +
1.13 +-= END original header =-
1.14 +
1.15 +diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/i386/clone.S glibc-2_9/sysdeps/unix/sysv/linux/i386/clone.S
1.16 +--- glibc-2_9.orig/sysdeps/unix/sysv/linux/i386/clone.S 2006-12-04 00:12:36.000000000 +0100
1.17 ++++ glibc-2_9/sysdeps/unix/sysv/linux/i386/clone.S 2009-02-02 22:00:45.000000000 +0100
1.18 +@@ -120,9 +120,6 @@
1.19 + ret
1.20 +
1.21 + L(thread_start):
1.22 +- cfi_startproc;
1.23 +- /* Clearing frame pointer is insufficient, use CFI. */
1.24 +- cfi_undefined (eip);
1.25 + /* Note: %esi is zero. */
1.26 + movl %esi,%ebp /* terminate the stack frame */
1.27 + #ifdef RESET_PID
1.28 +@@ -155,7 +152,6 @@
1.29 + jmp L(haspid)
1.30 + .previous
1.31 + #endif
1.32 +- cfi_endproc;
1.33 +
1.34 + cfi_startproc
1.35 + PSEUDO_END (BP_SYM (__clone))
1.36 +diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/x86_64/clone.S glibc-2_9/sysdeps/unix/sysv/linux/x86_64/clone.S
1.37 +--- glibc-2_9.orig/sysdeps/unix/sysv/linux/x86_64/clone.S 2006-12-04 00:12:36.000000000 +0100
1.38 ++++ glibc-2_9/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-02-02 22:00:45.000000000 +0100
1.39 +@@ -89,9 +89,6 @@
1.40 + ret
1.41 +
1.42 + L(thread_start):
1.43 +- cfi_startproc;
1.44 +- /* Clearing frame pointer is insufficient, use CFI. */
1.45 +- cfi_undefined (rip);
1.46 + /* Clear the frame pointer. The ABI suggests this be done, to mark
1.47 + the outermost frame obviously. */
1.48 + xorl %ebp, %ebp
1.49 +@@ -116,7 +113,6 @@
1.50 + /* Call exit with return value from function call. */
1.51 + movq %rax, %rdi
1.52 + call HIDDEN_JUMPTARGET (_exit)
1.53 +- cfi_endproc;
1.54 +
1.55 + cfi_startproc;
1.56 + PSEUDO_END (BP_SYM (__clone))