gccint: DWARF
1
1 18.21.5 Macros for DWARF Output
1 -------------------------------
1
1 Here are macros for DWARF output.
1
1 -- Macro: DWARF2_DEBUGGING_INFO
1 Define this macro if GCC should produce dwarf version 2 format
1 debugging output in response to the '-g' option.
1
1 -- Target Hook: int TARGET_DWARF_CALLING_CONVENTION (const_tree
1 FUNCTION)
1 Define this to enable the dwarf attribute
1 'DW_AT_calling_convention' to be emitted for each function.
1 Instead of an integer return the enum value for the 'DW_CC_'
1 tag.
1
1 To support optional call frame debugging information, you must also
1 define 'INCOMING_RETURN_ADDR_RTX' and either set
1 'RTX_FRAME_RELATED_P' on the prologue insns if you use RTL for the
1 prologue, or call 'dwarf2out_def_cfa' and 'dwarf2out_reg_save' as
1 appropriate from 'TARGET_ASM_FUNCTION_PROLOGUE' if you don't.
1
1 -- Macro: DWARF2_FRAME_INFO
1 Define this macro to a nonzero value if GCC should always output
11 Dwarf 2 frame information. If 'TARGET_EXCEPT_UNWIND_INFO' (⇒
Exception Region Output) returns 'UI_DWARF2', and exceptions are
1 enabled, GCC will output this information not matter how you define
1 'DWARF2_FRAME_INFO'.
1
1 -- Target Hook: enum unwind_info_type TARGET_DEBUG_UNWIND_INFO (void)
1 This hook defines the mechanism that will be used for describing
1 frame unwind information to the debugger. Normally the hook will
1 return 'UI_DWARF2' if DWARF 2 debug information is enabled, and
1 return 'UI_NONE' otherwise.
1
1 A target may return 'UI_DWARF2' even when DWARF 2 debug information
1 is disabled in order to always output DWARF 2 frame information.
1
1 A target may return 'UI_TARGET' if it has ABI specified unwind
1 tables. This will suppress generation of the normal debug frame
1 unwind information.
1
1 -- Macro: DWARF2_ASM_LINE_DEBUG_INFO
1 Define this macro to be a nonzero value if the assembler can
1 generate Dwarf 2 line debug info sections. This will result in
1 much more compact line number tables, and hence is desirable if it
1 works.
1
1 -- Macro: DWARF2_ASM_VIEW_DEBUG_INFO
1 Define this macro to be a nonzero value if the assembler supports
1 view assignment and verification in '.loc'. If it does not, but
1 the user enables location views, the compiler may have to fallback
1 to internal line number tables.
1
1 -- Target Hook: int TARGET_RESET_LOCATION_VIEW (rtx_insn *)
1 This hook, if defined, enables -ginternal-reset-location-views, and
1 uses its result to override cases in which the estimated min insn
1 length might be nonzero even when a PC advance (i.e., a view reset)
1 cannot be taken for granted.
1
1 If the hook is defined, it must return a positive value to indicate
1 the insn definitely advances the PC, and so the view number can be
1 safely assumed to be reset; a negative value to mean the insn
1 definitely does not advance the PC, and os the view number must not
1 be reset; or zero to decide based on the estimated insn length.
1
1 If insn length is to be regarded as reliable, set the hook to
1 'hook_int_rtx_insn_0'.
1
1 -- Target Hook: bool TARGET_WANT_DEBUG_PUB_SECTIONS
1 True if the '.debug_pubtypes' and '.debug_pubnames' sections should
1 be emitted. These sections are not used on most platforms, and in
1 particular GDB does not use them.
1
1 -- Target Hook: bool TARGET_DELAY_SCHED2
1 True if sched2 is not to be run at its normal place. This usually
1 means it will be run as part of machine-specific reorg.
1
1 -- Target Hook: bool TARGET_DELAY_VARTRACK
1 True if vartrack is not to be run at its normal place. This
1 usually means it will be run as part of machine-specific reorg.
1
1 -- Target Hook: bool TARGET_NO_REGISTER_ALLOCATION
1 True if register allocation and the passes following it should not
1 be run. Usually true only for virtual assembler targets.
1
1 -- Macro: ASM_OUTPUT_DWARF_DELTA (STREAM, SIZE, LABEL1, LABEL2)
1 A C statement to issue assembly directives that create a difference
1 LAB1 minus LAB2, using an integer of the given SIZE.
1
1 -- Macro: ASM_OUTPUT_DWARF_VMS_DELTA (STREAM, SIZE, LABEL1, LABEL2)
1 A C statement to issue assembly directives that create a difference
1 between the two given labels in system defined units, e.g.
1 instruction slots on IA64 VMS, using an integer of the given size.
1
1 -- Macro: ASM_OUTPUT_DWARF_OFFSET (STREAM, SIZE, LABEL, OFFSET,
1 SECTION)
1 A C statement to issue assembly directives that create a
1 section-relative reference to the given LABEL plus OFFSET, using an
1 integer of the given SIZE. The label is known to be defined in the
1 given SECTION.
1
1 -- Macro: ASM_OUTPUT_DWARF_PCREL (STREAM, SIZE, LABEL)
1 A C statement to issue assembly directives that create a
1 self-relative reference to the given LABEL, using an integer of the
1 given SIZE.
1
1 -- Macro: ASM_OUTPUT_DWARF_DATAREL (STREAM, SIZE, LABEL)
1 A C statement to issue assembly directives that create a reference
1 to the given LABEL relative to the dbase, using an integer of the
1 given SIZE.
1
1 -- Macro: ASM_OUTPUT_DWARF_TABLE_REF (LABEL)
1 A C statement to issue assembly directives that create a reference
1 to the DWARF table identifier LABEL from the current section. This
1 is used on some systems to avoid garbage collecting a DWARF table
1 which is referenced by a function.
1
1 -- Target Hook: void TARGET_ASM_OUTPUT_DWARF_DTPREL (FILE *FILE, int
1 SIZE, rtx X)
1 If defined, this target hook is a function which outputs a
1 DTP-relative reference to the given TLS symbol of the specified
1 size.
1