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