This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc] Handle broken CFI for signal trampolines in libc on amd64-linux
- From: Daniel Jacobowitz <drow at false dot org>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Thu, 20 Nov 2008 18:51:51 -0500
- Subject: Re: [rfc] Handle broken CFI for signal trampolines in libc on amd64-linux
- References: <200811202338.mAKNcBlR016418@d12av02.megacenter.de.ibm.com>
On Fri, Nov 21, 2008 at 12:38:11AM +0100, Ulrich Weigand wrote:
> Unfortunately even if I use the dwarf_signal_frame_p hook to have the
> DWARF-2 sniffer recognize a SIGTRAMP_FRAME, it still doesn't work as
> the __restore_rt CFI (at least in my glibc) only describes the unwind
> effects as if it were a regular function, without taking into account
> the restoring of registers by the sigreturn system call.
What version of glibc is this? It was fixed two years ago this month:
2006-12-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix
compatibility with
libgcc not supporting `rflags' unwinding (register # >= 17).
2006-11-29 Daniel Jacobowitz <dan@codesourcery.com>
Jakub Jelinek <jakub@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add
correct
unwind information.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
'restore_rt' even in the 'signal' directory.
* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the
regs list.
--
Daniel Jacobowitz
CodeSourcery