This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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] |
Hi, Frysk debugger in development would like to properly unwind signal frames without any hacks as has been done in the gdb case. Provided patch sets proper CFI unwind information for `__restore_rt'. `__restore_rt' CFI is fixed only for x86_64 (tested on Fedora Core kernel-xen-2.6.18-1.2849.fc6.x86_64) as on i386 (kernel-2.6.18-1.2747.el5.i686) is in use VDSOed `__kernel_sigreturn' instead (with proper CFI already). Still i386 should get fixed a similiar way but I do not have an easy testcase. Currently gdb identifies signal frames using strcmp ("__restore_rt", ...) (`amd64_linux_sigtramp_p') and gdb has also hardcoded arch-dependent unwind info (register locations) for the signal frames. I was told gcc is using `MD_FALLBACK_FRAME_STATE_FOR' (for exceptions unwinding) but it is not suitable for ptrace(2)ing remote debuggers. Testcase in glibc is not provided as the whole DWARF/CFI unwinding requires framework IMO out of the glibc testcases' scope. Regards, Jan Original Bug: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217087 Testcase provided in libunwind testsuite forked in the Frysk repository: CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/frysk CVS Repository=frysk-imports/libunwind testcase: tests/run-ptrace-stepper Requires patch: http://sourceware.org/bugzilla/show_bug.cgi?id=3590
Attachment:
glibc-signal-unwind-cfi.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |