diff options
author | Alexey Neyman <stilor@att.net> | 2017-12-02 20:44:39 (GMT) |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-12-02 20:44:39 (GMT) |
commit | 98bc4decdeab1361bdc585c86591718fb08c8ffb (patch) | |
tree | 4e048ed57988306696efa3c5b81a80d48030e913 /packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch | |
parent | 2a1935f3ad41d360dd3d96a1b0486083293651dd (diff) |
Run all patches through renumbering and update
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch')
-rw-r--r-- | packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch b/packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch new file mode 100644 index 0000000..f872bac --- /dev/null +++ b/packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch @@ -0,0 +1,51 @@ +revert cfi additions to clone on i386/x86_64 to workaround problems in +gcc's unwinder code. this is not a bug in glibc, it triggers problems +elsewhere. this cfi code does not gain us a whole lot anyways. + +http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html + +--- + sysdeps/unix/sysv/linux/i386/clone.S | 4 ---- + sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- + 2 files changed, 8 deletions(-) + +--- a/sysdeps/unix/sysv/linux/i386/clone.S ++++ b/sysdeps/unix/sysv/linux/i386/clone.S +@@ -120,9 +120,6 @@ + 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 +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +--- a/sysdeps/unix/sysv/linux/x86_64/clone.S ++++ b/sysdeps/unix/sysv/linux/x86_64/clone.S +@@ -89,9 +89,6 @@ + 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 +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) |