Macros Affecting All Debugging Formats
--------------------------------------
These macros affect all debugging formats.
`DBX_REGISTER_NUMBER (REGNO)'
A C expression that returns the DBX register number for the
compiler register number REGNO. In simple cases, the value of this
expression may be REGNO itself. But sometimes there are some
registers that the compiler knows about and DBX does not, or vice
versa. In such cases, some register may need to have one number in
the compiler and another for DBX.
If two registers have consecutive numbers inside GNU CC, and they
can be used as a pair to hold a multiword value, then they *must*
have consecutive numbers after renumbering with
`DBX_REGISTER_NUMBER'. Otherwise, debuggers will be unable to
access such a pair, because they expect register pairs to be
consecutive in their own numbering scheme.
If you find yourself defining `DBX_REGISTER_NUMBER' in way that
does not preserve register pairs, then what you must do instead is
redefine the actual register numbering scheme.
`DEBUGGER_AUTO_OFFSET (X)'
A C expression that returns the integer offset value for an
automatic variable having address X (an RTL expression). The
default computation assumes that X is based on the frame-pointer
and gives the offset from the frame-pointer. This is required for
targets that produce debugging output for DBX or COFF-style
debugging output for SDB and allow the frame-pointer to be
eliminated when the `-g' options is used.
`DEBUGGER_ARG_OFFSET (OFFSET, X)'
A C expression that returns the integer offset value for an
argument having address X (an RTL expression). The nominal offset
is OFFSET.
`PREFERRED_DEBUGGING_TYPE'
A C expression that returns the type of debugging output GNU CC
should produce when the user specifies just `-g'. Define this if
you have arranged for GNU CC to support more than one format of
debugging output. Currently, the allowable values are `DBX_DEBUG',
`SDB_DEBUG', `DWARF_DEBUG', `DWARF2_DEBUG', and `XCOFF_DEBUG'.
When the user specifies `-ggdb', GNU CC normally also uses the
value of this macro to select the debugging output format, but
with two exceptions. If `DWARF2_DEBUGGING_INFO' is defined and
`LINKER_DOES_NOT_WORK_WITH_DWARF2' is not defined, GNU CC uses the
value `DWARF2_DEBUG'. Otherwise, if `DBX_DEBUGGING_INFO' is
defined, GNU CC uses `DBX_DEBUG'.
The value of this macro only affects the default debugging output;
the user can always get a specific type of output by using
`-gstabs', `-gcoff', `-gdwarf-1', `-gdwarf-2', or `-gxcoff'.