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