Question about backtraces through signal handlers for aarch64 ILP32 support

Yao Qi qiyaoltc@gmail.com
Tue Feb 28 10:21:00 GMT 2017


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 (齐尧)



More information about the Gdb mailing list