Go to the first, previous, next, last section, table of contents.
When GDB is configured and compiled, various macros are defined or left
undefined, to control compilation based on the attributes of the target
system. These macros and their meanings are:
ADDITIONAL_OPTIONS
-
ADDITIONAL_OPTION_CASES
-
ADDITIONAL_OPTION_HANDLER
-
ADDITIONAL_OPTION_HELP
-
These are a set of macros that allow the addition of additional command
line options to GDB. They are currently used only for the unsupported
i960 Nindy target, and should not be used in any other configuration.
ADDR_BITS_REMOVE (addr)
-
If a raw machine address includes any bits that are not really part
of the address, then define this macro to expand into an expression
that zeros those bits in addr. For example, the two low-order
bits of a Motorola 88K address may be used by some kernels for their
own purposes, since addresses must always be 4-byte aligned, and so
are of no use for addressing. Those bits should be filtered out with
an expression such as
((addr) & ~3)
.
BEFORE_MAIN_LOOP_HOOK
-
Define this to expand into any code that you want to execute before
the main loop starts. Although this is not, strictly speaking,
a target conditional, that is how it is currently being used.
Note that if a configuration were to define it one way for a host
and a different way for the target, GDB will probably not compile,
let alone run correctly.
BELIEVE_PCC_PROMOTION
-
coffread.c
BELIEVE_PCC_PROMOTION_TYPE
-
stabsread.c
BITS_BIG_ENDIAN
-
Define this if the numbering of bits in the targets does *not* match
the endianness of the target byte order.
A value of 1 means that the bits are numbered in a big-endian order,
0 means little-endian.
BREAKPOINT
-
This is the character array initializer for the bit pattern to put into
memory where a breakpoint is set. Although it's common to use a trap
instruction for a breakpoint, it's not required; for instance, the bit
pattern could be an invalid instruction. The breakpoint must be no
longer than the shortest instruction of the architecture.
BIG_BREAKPOINT
-
LITTLE_BREAKPOINT
-
Similar to BREAKPOINT, but used for bi-endian targets.
CALL_DUMMY
-
valops.c
CALL_DUMMY_LOCATION
-
inferior.h
CALL_DUMMY_STACK_ADJUST
-
valops.c
CANNOT_FETCH_REGISTER (regno)
-
A C expression that should be nonzero if regno cannot be
fetched from an inferior process.
This is only relevant if
FETCH_INFERIOR_REGISTERS
is not
defined.
CANNOT_STORE_REGISTER (regno)
-
A C expression that should be nonzero if regno should not be
written to the target. This is often the case for program counters,
status words, and other special registers. If this is not defined,
GDB will assume that all registers may be written.
CHILL_PRODUCER
-
GCC_PRODUCER
-
GPLUS_PRODUCER
-
LCC_PRODUCER
-
If defined, these are the producer strings in a DWARF 1 file. All of
these have reasonable defaults already.
DO_DEFERRED_STORES
-
CLEAR_DEFERRED_STORES
-
Define this to execute any deferred stores of registers into the inferior,
and to cancel any deferred stores.
Currently only implemented correctly for native Sparc configurations?
CPLUS_MARKER
-
Define this to expand into the character that G++ uses to
distinguish compiler-generated identifiers from programmer-specified
identifiers. By default, this expands into
'$'
.
Most System V targets should define this to '.'
.
DBX_PARM_SYMBOL_CLASS
-
Hook for the
SYMBOL_CLASS
of a parameter when decoding DBX symbol
information. In the i960, parameters can be stored as locals or as
args, depending on the type of the debug record.
DECR_PC_AFTER_BREAK
-
Define this to be the amount by which to decrement the PC after
the program encounters a breakpoint.
This is often the number of bytes in BREAKPOINT, though not always.
For most targets this value will be 0.
DECR_PC_AFTER_HW_BREAK
-
Similarly, for hardware breakpoints.
DISABLE_UNSETTABLE_BREAK addr
-
If defined, this should evaluate to 1 if addr is in a shared
library in which breakpoints cannot be set and so should be disabled.
DO_REGISTERS_INFO
-
If defined, use this to print the value of a register or all registers.
END_OF_TEXT_DEFAULT
-
This is an expression that should designate the end of the text section
(? FIXME ?)
EXTRACT_RETURN_VALUE
-
tm-m68k.h
EXTRACT_STRUCT_VALUE_ADDRESS
-
values.c
EXTRA_FRAME_INFO
-
If defined, this must be a list of slots that may be inserted into
the
frame_info
structure defined in frame.h
.
EXTRA_SYMTAB_INFO
-
If defined, this must be a list of slots that may be inserted into
the
symtab
structure defined in symtab.h
.
FLOAT_INFO
-
If defined, then the `info float' command will print information about
the processor's floating point unit.
FP_REGNUM
-
The number of the frame pointer register.
FRAMELESS_FUNCTION_INVOCATION
-
blockframe.c
FRAME_ARGS_ADDRESS_CORRECT
-
stack.c
FRAME_CHAIN
-
Given FRAME, return a pointer to the calling frame.
FRAME_CHAIN_COMBINE
-
blockframe.c
FRAME_CHAIN_VALID
-
frame.h
FRAME_CHAIN_VALID_ALTERNATE
-
frame.h
FRAME_FIND_SAVED_REGS
-
stack.c
FRAME_NUM_ARGS (val, fi)
-
For the frame described by fi, set val to the number of arguments
that are being passed.
FRAME_SPECIFICATION_DYADIC
-
stack.c
FRAME_SAVED_PC
-
Given FRAME, return the pc saved there. That is, the return address.
FUNCTION_EPILOGUE_SIZE
-
For some COFF targets, the
x_sym.x_misc.x_fsize
field of the
function end symbol is 0. For such targets, you must define
FUNCTION_EPILOGUE_SIZE
to expand into the standard size
of a function's epilogue.
GCC_COMPILED_FLAG_SYMBOL
-
GCC2_COMPILED_FLAG_SYMBOL
-
If defined, these are the names of the symbols that GDB will look for to
detect that GCC compiled the file. The default symbols are
gcc_compiled.
and gcc2_compiled.
, respectively. (Currently
only defined for the Delta 68.)
GDB_TARGET_IS_HPPA
-
This determines whether horrible kludge code in dbxread.c and partial-stab.h
is used to mangle multiple-symbol-table files from HPPA's. This should all
be ripped out, and a scheme like elfread.c used.
GDB_TARGET_IS_MACH386
-
mach386-xdep.c
GDB_TARGET_IS_SUN3
-
a68v-xdep.c
GDB_TARGET_IS_SUN386
-
sun386-xdep.c
GET_LONGJMP_TARGET
-
For most machines, this is a target-dependent parameter. On the DECstation
and the Iris, this is a native-dependent parameter, since <setjmp.h> is
needed to define it.
This macro determines the target PC address that longjmp() will jump
to, assuming that we have just stopped at a longjmp breakpoint. It
takes a CORE_ADDR * as argument, and stores the target PC value through
this pointer. It examines the current state of the machine as needed.
GET_SAVED_REGISTER
-
Define this if you need to supply your own definition for the
function
get_saved_register
.
Currently this is only done for the a29k.
GR64_REGNUM
-
Very a29k-specific.
HAVE_REGISTER_WINDOWS
-
Define this if the target has register windows.
REGISTER_IN_WINDOW_P regnum
-
Define this to be an expression that is 1 is the given register is
in the window.
IBM6000_TARGET
-
Shows that we are configured for an IBM RS/6000 target. This conditional
should be eliminated (FIXME) and replaced by feature-specific macros.
It was introduced in haste and we are repenting at leisure.
IEEE_FLOAT
-
Define this if the target system uses IEEE-format floating point numbers.
IGNORE_SYMBOL type
-
This seems to be no longer used.
INIT_EXTRA_FRAME_INFO (fromleaf, fci)
-
If defined, this should be a C expression or statement that fills
in the
EXTRA_FRAME_INFO
slots of the given frame fci.
INIT_EXTRA_SYMTAB_INFO
-
symfile.c
INIT_FRAME_PC (fromleaf, prev)
-
This is a C statement that sets the pc of the frame pointed
to by prev. [By default...]
INNER_THAN
-
Define this to be either
<
if the target's stack grows
downward in memory, or >
is the stack grows upwards.
IN_SIGTRAMP (pc name)
-
Define this to return true if the given pc and/or name indicates
that the current function is a sigtramp.
SIGTRAMP_START (pc)
-
SIGTRAMP_END (pc)
-
Define these to be the start and end address of the sigtramp for the given pc.
On machines where the address is just a compile time constant, the macro
expansion will typically just ignore the supplied pc.
IN_SOLIB_TRAMPOLINE pc name
-
Define this to evaluate to nonzero if the program is stopped in
the trampoline that connects to a shared library.
IS_TRAPPED_INTERNALVAR name
-
This is an ugly hook to allow the specification of special actions
that should occur as a side-effect of setting the value of a variable
internal to GDB. Currently only used by the h8500.
Note that this could be either a host or target conditional.
KERNEL_DEBUGGING
-
tm-ultra3.h
MIPSEL
-
mips-tdep.c
NEED_TEXT_START_END
-
Define this if GDB should determine the start and end addresses
of the text section. (Seems dubious.)
KERNEL_DEBUGGING
-
NO_HIF_SUPPORT
-
(Specific to the a29k.)
NO_SINGLE_STEP
-
Define this if the target does not support single-stepping. If this is
defined, you must supply, in
*-tdep.c
, the function
single_step
, which takes a target_signal as argument and returns
nothing. It must insert breakpoints at each possible destinations of
the next instruction. See sparc-tdep.c
and rs6000-tdep.c
for examples.
PCC_SOL_BROKEN
-
(Used only in the Convex target.)
PC_IN_CALL_DUMMY
-
inferior.h
PC_LOAD_SEGMENT
-
If defined, print information about the load segment for the program
counter. (Defined only for the RS/6000.)
PC_REGNUM
-
If the program counter is kept in a register, then define this macro
to be the number of that register.
This need be defined only if
TARGET_WRITE_PC
is not defined.
NPC_REGNUM
-
The number of the "next program counter" register, if defined.
NNPC_REGNUM
-
The number of the "next next program counter" register, if defined.
Currently, this is only defined for the Motorola 88K.
PRINT_REGISTER_HOOK (regno)
-
If defined, this must be a function that prints the contents of the
given register to standard output.
PRINT_TYPELESS_INTEGER
-
This is an obscure substitute for
print_longest
that
seems to have been defined for the Convex target.
PROCESS_LINENUMBER_HOOK
-
A hook defined for XCOFF reading.
PROLOGUE_FIRSTLINE_OVERLAP
-
(Only used in unsupported Convex configuration.)
PS_REGNUM
-
If defined, this is the number of the processor status register.
(This definition is only used in generic code when parsing "$ps".)
POP_FRAME
-
Used in `call_function_by_hand' to remove an artificial stack frame.
PUSH_ARGUMENTS (nargs, args, sp, struct_return, struct_addr)
-
Define this to push arguments onto the stack for inferior function call.
PUSH_DUMMY_FRAME
-
Used in `call_function_by_hand' to create an artificial stack frame.
REGISTER_BYTES
-
The total amount of space needed to store GDB's copy of the machine's
register state.
REGISTER_NAMES
-
Define this to expand into an initializer of an array of strings.
Each string is the name of a register.
[more detail]
REG_STRUCT_HAS_ADDR (gcc_p, type)
-
Define this to return 1 if the given type will be passed by pointer
rather than directly.
SDB_REG_TO_REGNUM
-
Define this to convert sdb register numbers
into GDB regnums. If not defined, no conversion will be done.
SHIFT_INST_REGS
-
(Only used for m88k targets.)
SKIP_PROLOGUE
-
A C statement that advances the PC across any function entry
prologue instructions so as to reach "real" code.
SKIP_PROLOGUE_FRAMELESS_P
-
A C statement that should behave similarly, but that can stop
as soon as the function is known to have a frame.
If not defined,
SKIP_PROLOGUE
will be used instead.
SKIP_TRAMPOLINE_CODE (pc)
-
If the target machine has trampoline code that sits between callers
and the functions being called, then define this macro to return
a new PC that is at the start of the real function.
SP_REGNUM
-
Define this to be the number of the register that serves as the
stack pointer.
STAB_REG_TO_REGNUM
-
Define this to convert stab register numbers (as gotten from `r' declarations)
into GDB regnums. If not defined, no conversion will be done.
STACK_ALIGN (addr)
-
Define this to adjust the address to the alignment required for the
processor's stack.
STEP_SKIPS_DELAY (addr)
-
Define this to return true if the address is of an instruction with a
delay slot. If a breakpoint has been placed in the instruction's delay
slot, GDB will single-step over that instruction before resuming
normally. Currently only defined for the Mips.
STORE_RETURN_VALUE (type, valbuf)
-
A C expression that stores a function return value of type type,
where valbuf is the address of the value to be stored.
SUN_FIXED_LBRAC_BUG
-
(Used only for Sun-3 and Sun-4 targets.)
SYMBOL_RELOADING_DEFAULT
-
The default value of the `symbol-reloading' variable.
(Never defined in current sources.)
TARGET_BYTE_ORDER
-
The ordering of bytes in the target.
This must be defined to be either
BIG_ENDIAN
or LITTLE_ENDIAN
.
TARGET_CHAR_BIT
-
Number of bits in a char; defaults to 8.
TARGET_COMPLEX_BIT
-
Number of bits in a complex number; defaults to
2 * TARGET_FLOAT_BIT
.
TARGET_DOUBLE_BIT
-
Number of bits in a double float; defaults to
8 * TARGET_CHAR_BIT
.
TARGET_DOUBLE_COMPLEX_BIT
-
Number of bits in a double complex; defaults to
2 * TARGET_DOUBLE_BIT
.
TARGET_FLOAT_BIT
-
Number of bits in a float; defaults to
4 * TARGET_CHAR_BIT
.
TARGET_INT_BIT
-
Number of bits in an integer; defaults to
4 * TARGET_CHAR_BIT
.
TARGET_LONG_BIT
-
Number of bits in a long integer; defaults to
4 * TARGET_CHAR_BIT
.
TARGET_LONG_DOUBLE_BIT
-
Number of bits in a long double float;
defaults to
2 * TARGET_DOUBLE_BIT
.
TARGET_LONG_LONG_BIT
-
Number of bits in a long long integer; defaults to
2 * TARGET_LONG_BIT
.
TARGET_PTR_BIT
-
Number of bits in a pointer; defaults to
TARGET_INT_BIT
.
TARGET_SHORT_BIT
-
Number of bits in a short integer; defaults to
2 * TARGET_CHAR_BIT
.
TARGET_READ_PC
-
TARGET_WRITE_PC (val, pid)
-
TARGET_READ_SP
-
TARGET_WRITE_SP
-
TARGET_READ_FP
-
TARGET_WRITE_FP
-
These change the behavior of
read_pc
, write_pc
,
read_sp
, write_sp
, read_fp
and write_fp
.
For most targets, these may be left undefined. GDB will call the
read and write register functions with the relevant _REGNUM
argument.
These macros are useful when a target keeps one of these registers in a
hard to get at place; for example, part in a segment register and part
in an ordinary register.
USE_STRUCT_CONVENTION (gcc_p, type)
-
If defined, this must be an expression that is nonzero if a value
of the given type being returned from a function must have
space allocated for it on the stack. gcc_p is true if the
function being considered is known to have been compiled by GCC;
this is helpful for systems where GCC is known to use different calling
convention than other compilers.
VARIABLES_INSIDE_BLOCK (desc, gcc_p)
-
For dbx-style debugging information, if the compiler puts variable
declarations inside LBRAC/RBRAC blocks, this should be defined
to be nonzero. desc is the value of
n_desc
from the
N_RBRAC
symbol, and gcc_p is true if GDB has noticed
the presence of either the GCC_COMPILED_SYMBOL
or the
GCC2_COMPILED_SYMBOL
.
By default, this is 0.
OS9K_VARIABLES_INSIDE_BLOCK (desc, gcc_p)
-
Similarly, for OS/9000. Defaults to 1.
WRS_ORIG
-
remote-vx.c
test
-
(Define this to enable testing code in regex.c.)
Motorola M68K target conditionals.
BPT_VECTOR
-
Define this to be the 4-bit location of the breakpoint trap vector.
If not defined, it will default to
0xf
.
REMOTE_BPT_VECTOR
-
Defaults to
1
.
Go to the first, previous, next, last section, table of contents.