Re: ARM register pages

Daniel Jacobowitz
2005-06-08T22:59:02Z

On Wed, Jun 08, 2005 at 03:00:46PM -0700, Shaun Jackman wrote:
> Is there an "info registers" command that displays the paged registers
> for each ARM mode, such as $lr_svc and $lr_abt? GDB doesn't recognize
> these names on the command line for printing/setting. Could this be a
> wishlist item?

GDB doesn't even know that these registers exist, yet. The normal ARM
remote protocol doesn't transfer them, either.

> A "data abort" ARM exception sets the $cpsr to 0x17, the program
> counter to 0x10, and the $lr_abt to the previous value of the program
> counter. The backtrace command doesn't work now because (I'm guessing)
> GDB sees $lr_abt and $sp_abt instead of the $lr_usr and $sp_usr that
> contain the useful backtrace information. How can I get a useful
> backtrace after a data abort exception?

GDB doesn't want to do this by default, usually, because they are
likely to be in different executable images. If they aren't, assuming
that your abort handler saves the banked lr to the stack, you can
write DWARF-2 information to describe where it lives.

--
Daniel Jacobowitz
CodeSourcery, LLC