This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]