www.delorie.com/gnu/docs/gcc/gccint_160.html   search  
 
Buy the book!


GNU Compiler Collection (GCC) Internals

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.21.5 Macros for SDB and DWARF Output

Here are macros for SDB and DWARF output.

SDB_DEBUGGING_INFO
Define this macro if GCC should produce COFF-style debugging output for SDB in response to the `-g' option.

DWARF_DEBUGGING_INFO
Define this macro if GCC should produce dwarf format debugging output in response to the `-g' option.

DWARF2_DEBUGGING_INFO
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 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.

DWARF2_FRAME_INFO
Define this macro to a nonzero value if GCC should always output Dwarf 2 frame information. If DWARF2_UNWIND_INFO (see section 10.20.9 Assembler Commands for Exception Regions is nonzero, GCC will output this information not matter how you define DWARF2_FRAME_INFO.

LINKER_DOES_NOT_WORK_WITH_DWARF2
Define this macro if the linker does not work with Dwarf version 2. Normally, if the user specifies only `-ggdb' GCC will use Dwarf version 2 if available; this macro disables this. See the description of the PREFERRED_DEBUGGING_TYPE macro for more details.

DWARF2_GENERATE_TEXT_SECTION_LABEL
By default, the Dwarf 2 debugging information generator will generate a label to mark the beginning of the text section. If it is better simply to use the name of the text section itself, rather than an explicit label, to indicate the beginning of the text section, define this macro to zero.

DWARF2_ASM_LINE_DEBUG_INFO
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.

PUT_SDB_...
Define these macros to override the assembler syntax for the special SDB assembler directives. See `sdbout.c' for a list of these macros and their arguments. If the standard syntax is used, you need not define them yourself.

SDB_DELIM
Some assemblers do not support a semicolon as a delimiter, even between SDB assembler directives. In that case, define this macro to be the delimiter to use (usually `\n'). It is not necessary to define a new set of PUT_SDB_op macros if this is the only change required.

SDB_GENERATE_FAKE
Define this macro to override the usual method of constructing a dummy name for anonymous structure and union types. See `sdbout.c' for more information.

SDB_ALLOW_UNKNOWN_REFERENCES
Define this macro to allow references to unknown structure, union, or enumeration tags to be emitted. Standard COFF does not allow handling of unknown references, MIPS ECOFF has support for it.

SDB_ALLOW_FORWARD_REFERENCES
Define this macro to allow references to structure, union, or enumeration tags that have not yet been seen to be handled. Some assemblers choke if forward tags are used, while some require it.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003