Here are macros for DWARF output.
Define this macro if GCC should produce dwarf version 2 format debugging output in response to the -g option.
To support optional call frame debugging information, you must also
INCOMING_RETURN_ADDR_RTX and either set
RTX_FRAME_RELATED_P on the prologue insns if you use RTL for the
prologue, or call
as appropriate from
TARGET_ASM_FUNCTION_PROLOGUE if you don’t.
Define this to enable the dwarf attribute
be emitted for each function. Instead of an integer return the enum
value for the
Define this macro to a nonzero value if GCC should always output
Dwarf 2 frame information. If
(see Exception Region Output) returns
exceptions are enabled, GCC will output this information not matter
how you define
This hook defines the mechanism that will be used for describing frame
unwind information to the debugger. Normally the hook will return
UI_DWARF2 if DWARF 2 debug information is enabled, and
A target may return
UI_DWARF2 even when DWARF 2 debug information
is disabled in order to always output DWARF 2 frame information.
A target may return
UI_TARGET if it has ABI specified unwind tables.
This will suppress generation of the normal debug frame unwind information.
Define this macro to be a nonzero value if the assembler can generate Dwarf 2 line debug info sections. This will result in much more compact line number tables, and hence is desirable if it works.
Define this macro to be a nonzero value if the assembler supports view
assignment and verification in
.loc. If it does not, but the
user enables location views, the compiler may have to fallback to
internal line number tables.
This hook, if defined, enables -ginternal-reset-location-views, and uses its result to override cases in which the estimated min insn length might be nonzero even when a PC advance (i.e., a view reset) cannot be taken for granted.
If the hook is defined, it must return a positive value to indicate the insn definitely advances the PC, and so the view number can be safely assumed to be reset; a negative value to mean the insn definitely does not advance the PC, and os the view number must not be reset; or zero to decide based on the estimated insn length.
If insn length is to be regarded as reliable, set the hook to
True if the
should be emitted. These sections are not used on most platforms, and
in particular GDB does not use them.
True if sched2 is not to be run at its normal place. This usually means it will be run as part of machine-specific reorg.
True if vartrack is not to be run at its normal place. This usually means it will be run as part of machine-specific reorg.
True if register allocation and the passes following it should not be run. Usually true only for virtual assembler targets.
A C statement to issue assembly directives that create a difference lab1 minus lab2, using an integer of the given size.
A C statement to issue assembly directives that create a difference between the two given labels in system defined units, e.g. instruction slots on IA64 VMS, using an integer of the given size.
A C statement to issue assembly directives that create a section-relative reference to the given label plus offset, using an integer of the given size. The label is known to be defined in the given section.
A C statement to issue assembly directives that create a self-relative reference to the given label, using an integer of the given size.
A C statement to issue assembly directives that create a reference to the given label relative to the dbase, using an integer of the given size.
A C statement to issue assembly directives that create a reference to the DWARF table identifier label from the current section. This is used on some systems to avoid garbage collecting a DWARF table which is referenced by a function.
If defined, this target hook is a function which outputs a DTP-relative reference to the given TLS symbol of the specified size.