i960 Processor Compiler User's Guide
3-44
3
For COFF, debug level settings of g, g1, g2, and g3 all have the same
effect: they specify “normal” debug information.
For ELF/DWARF, debug level settings of
g, g1, and g2 all have the same
effect: they specify all DWARF debug information except preprocessor
macros. A debug level setting of
g3 specifies all DWARF debug
information, including preprocessor macros in the debug information. If
your debugger (like gdb960) does not make use of preprocessor macro
information, you can save space in your object files by dropping to
ELF/DWARF debug level 2.
The
g (Debug) option does not inhibit optimization. If you specify the g
option but do not specify the O (Optimize) option, the optimization level
defaults to
O0.
Specifying an optimization level higher than
O0 can inhibit the
effectiveness of the symbolic debug information. For example, if you set
a breakpoint on a source line for which the code has been optimized away,
the breakpoint is never hit. Or if you try to print the value of a variable
that has been optimized away, an erroneous value are displayed. In
general, as the optimization level increases, the reliability of the symbolic
debug information decreases.
If you are using the ELF object module format (
Felf), then g causes the
compiler to produce DWARF debug information. This debug information
format is richer than that of other supported OMFs, and allows more
reliable debugging under optimization. However, even with DWARF,
there are situations where debugging behavior does not agree with the
debugging behavior of unoptimized code.
gcdm (Decision Maker)
Invoke gcdm960
decision-maker.
gcdm,
arg
[,
arg
]...