This is the mail archive of the 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  <>

        * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix
	compatibility with
        libgcc not supporting `rflags' unwinding (register # >= 17).

2006-11-29  Daniel Jacobowitz  <>
            Jakub Jelinek  <>
            Jan Kratochvil  <>

        * sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add
        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

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