Re: ARM register pages

Daniel Jacobowitz
2005-06-09T17:04:04Z

On Thu, Jun 09, 2005 at 09:46:32AM -0700, Shaun Jackman wrote:
> On 6/8/05, Daniel Jacobowitz <drow@false.org> wrote:
> > 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.
>
> By the "normal ARM remote protocol" do you mean RDP/RDI, or the GDB
> remote protocol for ARM? Does the latter know about these registers?

The latter. RDI does, of course.

> > 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.
>
> My data abort handler currently looks like:
> abt: b abt
> When everything freezes I interrupt the debugger to look at what's
> happened. I'd like to get a backtrace of the user mode from this
> state.

The easiest solution will be to do this instead:
abt: [copy the banked address to lr, which is not useful at this
point]
1: b 1b

--
Daniel Jacobowitz
CodeSourcery, LLC