Re: Question about backtraces through signal handlers for aarch64 ILP32 support
Yao Qi <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
Luis Machado <[email protected]> writes: >> Normal backtraces seem to be working fine, the majority of ILP32 failures >> I get in gdb.base (that don't also happen in LP64 mode) are tests with 'sig' >> in their name like sigstep. >> >> Any ideas on where to look or what to look for? > > That extra frame indicates gdb is getting confused when extracting > register state from the signal frame and creates a spurious frame at > 0x0. Maybe gdb is finding a frame pointer that points to 0x0 and > should instead point to 0x00400740 (main)? Tracking that down may help > figure it out. I think Luis is right. From your log, I can see that sigframe is found, and the right unwinder is used, but it gets the wrong value when it unwinds stack. Probably, you need to look at aarch64-linux-tdep.c:aarch64_linux_sigframe_init and some macros defines above. -- Yao (齐尧)