diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-16 03:47:22 +0100 |
---|---|---|
committer | Petr Baudis <pasky@suse.cz> | 2010-11-16 03:47:22 +0100 |
commit | fb8fb8464c2b5a44b69e62bcc3211b9c769416da (patch) | |
tree | b350f569ea24f76692ccb0b454204adafefce69c | |
parent | c8e6e9e783bc5018525e881f021333c3daa4b0f6 (diff) | |
download | glibc-pasky/fixes-overdue.tar.gz glibc-pasky/fixes-overdue.tar.xz glibc-pasky/fixes-overdue.zip |
Fix incorrect backtrace unwinding through thread_start() on x86_64 pasky/fixes-overdue
Provide CFI for the outermost clone() to ensure proper unwinding stop of gdb.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/clone.S | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index c7174be106..9f0a7a94c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-11-30 Jan Kratochvil <jan.kratochvil@redhat.com> + + [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 <pasky@suse.cz> [BZ #11149] diff --git a/sysdeps/unix/sysv/linux/x86_64/clone.S b/sysdeps/unix/sysv/linux/x86_64/clone.S index db42f209c9..8a12b09035 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)) |