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:
NOTE: For now, both host and target conditionals are here.
Eliminate host conditionals from this list as they are identified.
PUSH_DUMMY_FRAME
-
Used in `call_function_by_hand' to create an artificial stack frame.
POP_FRAME
-
Used in `call_function_by_hand' to remove an artificial stack frame.
BLOCK_ADDRESS_FUNCTION_RELATIVE
-
dbxread.c
PYRAMID_CONTROL_FRAME_DEBUGGING
-
pyr-xdep.c
ADDITIONAL_OPTIONS
-
main.c
ADDITIONAL_OPTION_CASES
-
main.c
ADDITIONAL_OPTION_HANDLER
-
main.c
ADDITIONAL_OPTION_HELP
-
main.c
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)
.
ALIGN_STACK_ON_STARTUP
-
main.c
ALTOS
-
altos-xdep.c
ALTOS_AS
-
xm-altos.h
BCS
-
tm-delta88.h
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.
BLOCK_ADDRESS_ABSOLUTE
-
dbxread.c
BREAKPOINT
-
tm-m68k.h
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.
CFRONT_PRODUCER
-
dwarfread.c
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
-
stabsread.c
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.
DELTA88
-
m88k-xdep.c
DEV_TTY
-
symmisc.c
DGUX
-
m88k-xdep.c
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
-
infcmd.c
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
.
FILES_INFO_HOOK
-
target.c
FLOAT_INFO
-
infcmd.c
FP0_REGNUM
-
a68v-xdep.c
FPC_REGNUM
-
mach386-xdep.c
FP_REGNUM
-
parse.c
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_GET_BASEREG_VALUE
-
frame.h
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.
GCC2_COMPILED_FLAG_SYMBOL
-
dbxread.c
GCC_COMPILED_FLAG_SYMBOL
-
dbxread.c
GCC_MANGLE_BUG
-
symtab.c
GCC_PRODUCER
-
dwarfread.c
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.
GPLUS_PRODUCER
-
dwarfread.c
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
-
SIGTRAMP_END
-
Define these to be the start and end address of the sigtramp.
These will be used if defined, and
IN_SIGTRAMP
is not;
otherwise the name of the sigtramp will be assumed to be _sigtramp
.
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
LCC_PRODUCER
-
dwarfread.c
L_LNNO32
-
coffread.c
MIPSEL
-
mips-tdep.c
MOTOROLA
-
xm-altos.h
NBPG
-
altos-xdep.c
NEED_TEXT_START_END
-
Define this if GDB should determine the start and end addresses
of the text section. (Seems dubious.)
NOTICE_SIGNAL_HANDLING_CHANGE
-
infrun.c
NO_HIF_SUPPORT
-
remote-mm.c
NO_SIGINTERRUPT
-
remote-adapt.c
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 pid 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.
NUMERIC_REG_NAMES
-
mips-tdep.c
N_SETV
-
dbxread.c
N_SET_MAGIC
-
hppabsd-tdep.c
ONE_PROCESS_WRITETEXT
-
breakpoint.c
PCC_SOL_BROKEN
-
dbxread.c
PC_IN_CALL_DUMMY
-
inferior.h
PC_LOAD_SEGMENT
-
stack.c
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_RANDOM_SIGNAL
-
infcmd.c
PRINT_REGISTER_HOOK
-
infcmd.c
PRINT_TYPELESS_INTEGER
-
This is an obscure substitute for
print_longest
that
seems to have been defined for the Convex target.
PROCESS_LINENUMBER_HOOK
-
buildsym.c
PROLOGUE_FIRSTLINE_OVERLAP
-
infrun.c
PS_REGNUM
-
parse.c
PUSH_ARGUMENTS
-
valops.c
REGISTER_BYTES
-
remote.c
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_STACK_SEGMENT
-
exec.c
REG_STRUCT_HAS_ADDR
-
findvar.c
R_FP
-
dwarfread.c
R_OK
-
xm-altos.h
SDB_REG_TO_REGNUM
-
Define this to convert sdb register numbers
into GDB regnums. If not defined, no conversion will be done.
SEEK_END
-
state.c
SEEK_SET
-
state.c
SEM
-
coffread.c
SHELL_COMMAND_CONCAT
-
infrun.c
SHELL_FILE
-
infrun.c
SHIFT_INST_REGS
-
breakpoint.c
SIGTRAP_STOP_AFTER_LOAD
-
infrun.c
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
-
parse.c
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
-
valops.c
STOP_SIGNAL
-
main.c
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.
SUN4_COMPILER_FEATURE
-
infrun.c
SUN_FIXED_LBRAC_BUG
-
dbxread.c
SVR4_SHARED_LIBS
-
solib.c
SYMBOL_RELOADING_DEFAULT
-
symfile.c
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.