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 (齐尧)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.