From: Jan Kratochvil Date: Tue, 16 Nov 2010 02:47:22 +0000 (+0100) Subject: Fix incorrect backtrace unwinding through thread_start() on x86_64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb8fb8464c2b5a44b69e62bcc3211b9c769416da;p=thirdparty%2Fglibc.git Fix incorrect backtrace unwinding through thread_start() on x86_64 Provide CFI for the outermost clone() to ensure proper unwinding stop of gdb. --- diff --git a/ChangeLog b/ChangeLog index c7174be1062..9f0a7a94c31 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 db42f209c9f..8a12b09035e 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))