Re: RFC: Use the ARM CPSR as a fallback to determine ARM/Thumb

Daniel Jacobowitz
2008-05-02T14:03:24Z

On Fri, May 02, 2008 at 01:17:06PM +0300, Eli Zaretskii wrote:
> > +@item set arm fallback-mode
> > +This command sets the mode (ARM versus Thumb) which @value{GDBN} will
> > +assume for code without a symbol table. The default is @samp{auto},
> > +which causes @value{GDBN} to use the mode associated with the current
> > +CPSR.
>
> Please explain (in parens or in a @footnote) what is CPSR. There's no
> other instance in the manual where this acronym is used.

Is this better? I could expand the acronym (current program status
register), but I think mentioning it as a register is clear enough.
It's visible in GDB as $cpsr.

@item set arm fallback-mode (arm|thumb|auto)
@value{GDBN} uses the symbol table, when available, to determine
whether instructions are ARM or Thumb. This command controls
@value{GDBN}'s default behavior when the symbol table is not
available. The default is @samp{auto}, which causes @value{GDBN} to
use the current execution mode (from the T bit in the CPSR register).

@item set arm fallback-mode (arm|thumb|auto)
This command sets the mode (ARM versus Thumb) which @value{GDBN} will
assume for code without a symbol table. The default is @samp{auto},
which causes @value{GDBN} to use the current execution mode (from the
T bit in the CPSR register).

@item show arm fallback-mode
Show the current fallback instruction mode.

@item set arm force-mode (arm|thumb|auto)
This command overrides use of the symbol table to determine whether
instructions are ARM or Thumb. The default is @samp{auto}, which
causes @value{GDBN} to use the symbol table and then the setting
of @samp{set arm fallback-mode}.

@item show arm force-mode
Show the current forced instruction mode.

> > +set arm fallback-mode (arm|thumb|auto)
> > +show arm fallback-mode
> > +set arm force-mode (arm|thumb|auto)
> > +show arm force-mode
> > + These variables control how ARM GDB determines whether instructions
> ^^^^^^^^^
> "commands", not "variables", I think.

I agree, changed. (There's a "variable" reference to a set command a
few lines above, though).