This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Question about backtraces through signal handlers for aarch64 ILP32 support
Luis Machado <lgustavo@codesourcery.com> 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 (齐尧)