This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfc] Handle broken CFI for signal trampolines in libc on amd64-linux


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]