On Mon, 25 Jul 2005 15:29:12 +1000, Keith Owens <[EMAIL PROTECTED]> wrote: >gdb with libunwind support does not unwind correctly if a signal >handler calls another function which then takes a core dump. > >SuSE SLES9 SP2. gdb-6.3-16.4. libunwind-0.98.5-3.2. gcc 3.3.3.
David Mosberger suggested checking the CVS version of gdb. The gdb-6.3.50.20050726 snapshot handles backtrace through a signal handler when the handler calls another function. Program received signal SIGABRT, Aborted. 0xa000000000010641 in __kernel_syscall_via_break () (gdb) bt #0 0xa000000000010641 in __kernel_syscall_via_break () #1 0x20000000000a8690 in raise () from /lib/tls/libc.so.6.1 #2 0x20000000000aadf0 in abort () from /lib/tls/libc.so.6.1 #3 0x4000000000000740 in foo () at signal-test.c:6 #4 0x4000000000000780 in handler (sig=14) at signal-test.c:12 #5 <signal handler called> #6 0xa000000000010640 in __kernel_syscall_via_break () #7 0x20000000000a8a80 in kill () from /lib/tls/libc.so.6.1 #8 0x4000000000000810 in main () at signal-test.c:18 - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
