From fb8fb8464c2b5a44b69e62bcc3211b9c769416da Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Tue, 16 Nov 2010 03:47:22 +0100 Subject: Fix incorrect backtrace unwinding through thread_start() on x86_64 Provide CFI for the outermost clone() to ensure proper unwinding stop of gdb. --- ChangeLog | 6 ++++++ sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index c7174be..9f0a7a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-11-30 Jan Kratochvil + + [BZ #6693] + * sysdeps/unix/sysv/linux/x86_64/clone.S: Provide CFI for the outermost + `clone' function to ensure proper unwinding stop of gdb. + 2010-05-31 Petr Baudis [BZ #11149] diff --git a/sysdeps/unix/sysv/linux/x86_64/clone.S b/sysdeps/unix/sysv/linux/x86_64/clone.S index db42f20..8a12b09 100644 --- a/sysdeps/unix/sysv/linux/x86_64/clone.S +++ b/sysdeps/unix/sysv/linux/x86_64/clone.S @@ -89,9 +89,6 @@ L(pseudo_end): 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 @@ L(thread_start): /* Call exit with return value from function call. */ movq %rax, %rdi call HIDDEN_JUMPTARGET (_exit) - cfi_endproc; cfi_startproc; PSEUDO_END (BP_SYM (__clone)) -- cgit v1.1