prev UP NEXT Using and Porting GNU CC

16.17.1: Macros Affecting All Debugging Formats

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.

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.
A C expression that returns the integer offset value for an argument having address x (an RTL expression). The nominal offset is offset.
A C expression that returns the type of debugging output GNU CC produces when the user specifies `-g' or `-ggdb'. 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, and XCOFF_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', or `-gxcoff'.