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.
int
TARGET_DWARF_CALLING_CONVENTION (const_tree function)
¶Define this to enable the dwarf attribute DW_AT_calling_convention
to
be emitted for each function. Instead of an integer return the enum
value for the DW_CC_
tag.
To support optional call frame debugging information, you must also
define INCOMING_RETURN_ADDR_RTX
and either set
RTX_FRAME_RELATED_P
on the prologue insns if you use RTL for the
prologue, or call dwarf2out_def_cfa
and dwarf2out_reg_save
as appropriate from TARGET_ASM_FUNCTION_PROLOGUE
if you don’t.
Define this macro to a nonzero value if GCC should always output
Dwarf 2 frame information. If TARGET_EXCEPT_UNWIND_INFO
(see Assembler Commands for Exception Regions) returns UI_DWARF2
, and
exceptions are enabled, GCC will output this information not matter
how you define DWARF2_FRAME_INFO
.
enum unwind_info_type
TARGET_DEBUG_UNWIND_INFO (void)
¶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
return UI_NONE
otherwise.
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.
int
TARGET_RESET_LOCATION_VIEW (rtx_insn *)
¶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
hook_int_rtx_insn_0
.
bool
TARGET_WANT_DEBUG_PUB_SECTIONS ¶True if the .debug_pubtypes
and .debug_pubnames
sections
should be emitted. These sections are not used on most platforms, and
in particular GDB does not use them.
bool
TARGET_DELAY_SCHED2 ¶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.
bool
TARGET_DELAY_VARTRACK ¶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.
bool
TARGET_NO_REGISTER_ALLOCATION ¶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.
void
TARGET_ASM_OUTPUT_DWARF_DTPREL (FILE *file, int size, rtx x)
¶If defined, this target hook is a function which outputs a DTP-relative reference to the given TLS symbol of the specified size.