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 Exception Region Output 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.
ASM_OUTPUT_DWARF_DELTA (
stream,
size,
label1,
label2)
- A C statement to issue assembly directives that create a difference
between the two given labels, using an integer of the given size.
ASM_OUTPUT_DWARF_OFFSET (
stream,
size,
label)
- A C statement to issue assembly directives that create a
section-relative reference to the given label, using an integer of the
given size.
ASM_OUTPUT_DWARF_PCREL (
stream,
size,
label)
- A C statement to issue assembly directives that create a self-relative
reference to the given label, using an integer of the given size.
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.