]> Git Repo - binutils.git/blobdiff - gdb/doc/gdbint.texinfo
This commit was generated by cvs2svn to track changes on a CVS vendor
[binutils.git] / gdb / doc / gdbint.texinfo
index 37a6e3c8dc520d5bef95b286d94cc0f64ef97be6..db293ef55c801f0051aa25a381ab4ec439d7fe47 100644 (file)
@@ -1239,6 +1239,23 @@ instruction of the architecture.
 
 Replaces all the other @var{BREAKPOINT} macros.
 
+@item MEMORY_INSERT_BREAKPOINT (addr, contents_cache)
+@item MEMORY_REMOVE_BREAKPOINT (addr, contents_cache)
+
+Insert or remove memory based breakpoints.  Reasonable defaults
+(@code{default_memory_insert_breakpoint} and
+@code{default_memory_remove_breakpoint} respectively) have been
+provided so that it is not necessary to define these for most
+architectures.  Architectures which may want to define
+@var{MEMORY_INSERT_BREAKPOINT} and @var{MEMORY_REMOVE_BREAKPOINT} will
+likely have instructions that are oddly sized or are not stored in a
+conventional manner.
+
+It may also be desirable (from an efficiency standpoint) to define
+custom breakpoint insertion and removal routines if
+@var{BREAKPOINT_FROM_PC} needs to read the target's memory for some
+reason.
+
 @item CALL_DUMMY_P
 A C expresson that is non-zero when the target suports inferior function
 calls.
@@ -1364,13 +1381,17 @@ Presently only defined for HP PA.
 @item FRAME_CHAIN_VALID(chain,thisframe)
 
 Define this to be an expression that returns zero if the given frame is
-an outermost frame, with no caller, and nonzero otherwise.  Three common
-definitions are available. @code{default_frame_chain_valid} (the
-default) is nonzero if the chain pointer is nonzero and given frame's PC
-is not inside the startup file (such as @file{crt0.o}).
-@code{alternate_frame_chain_valid} is nonzero if the chain pointer is
-nonzero and the given frame's PC is not in @code{main()} or a known
-entry point function (such as @code{_start()}).
+an outermost frame, with no caller, and nonzero otherwise.  Several
+common definitions are available. 
+
+@code{file_frame_chain_valid} is nonzero if the chain pointer is nonzero
+and given frame's PC is not inside the startup file (such as
+@file{crt0.o}).  @code{func_frame_chain_valid} is nonzero if the chain
+pointer is nonzero and the given frame's PC is not in @code{main()} or a
+known entry point function (such as @code{_start()}).
+@code{generic_file_frame_chain_valid} and
+@code{generic_func_frame_chain_valid} are equivalent implementations for
+targets using generic dummy frames.
 
 @item FRAME_INIT_SAVED_REGS(frame)
 See @file{frame.h}.  Determines the address of all registers in the
@@ -1444,6 +1465,15 @@ conditional should be eliminated (FIXME) and replaced by
 feature-specific macros.  It was introduced in haste and we are
 repenting at leisure.
 
+@item SYMBOLS_CAN_START_WITH_DOLLAR
+Some systems have routines whose names start with @samp{$}.  Giving this
+macro a non-zero value tells GDB's expression parser to check for such
+routines when parsing tokens that begin with @samp{$}.
+
+On HP-UX, certain system routines (millicode) have names beginning with
+@samp{$} or @samp{$$}.  For example, @code{$$dyncall} is a millicode
+routine that handles inter-space procedure calls on PA-RISC.
+
 @item IEEE_FLOAT
 Define this if the target system uses IEEE-format floating point numbers.
 
@@ -1515,6 +1545,39 @@ A function that inserts or removes (dependant on
 the next instruction. See @code{sparc-tdep.c} and @code{rs6000-tdep.c}
 for examples.
 
+@item SOFUN_ADDRESS_MAYBE_MISSING
+
+Somebody clever observed that, the more actual addresses you have in the
+debug information, the more time the linker has to spend relocating
+them.  So whenever there's some other way the debugger could find the
+address it needs, you should omit it from the debug info, to make
+linking faster.
+
+@code{SOFUN_ADDRESS_MAYBE_MISSING} indicates that a particular set of
+hacks of this sort are in use, affecting @code{N_SO} and @code{N_FUN}
+entries in stabs-format debugging information.  @code{N_SO} stabs mark
+the beginning and ending addresses of compilation units in the text
+segment.  @code{N_FUN} stabs mark the starts and ends of functions.
+
+@code{SOFUN_ADDRESS_MAYBE_MISSING} means two things:
+@itemize @bullet
+
+@item
+@code{N_FUN} stabs have an address of zero.  Instead, you should find the
+addresses where the function starts by taking the function name from
+the stab, and then looking that up in the minsyms (the linker/
+assembler symbol table).  In other words, the stab has the name, and
+the linker / assembler symbol table is the only place that carries
+the address.
+
+@item
+@code{N_SO} stabs have an address of zero, too.  You just look at the
+@code{N_FUN} stabs that appear before and after the @code{N_SO} stab,
+and guess the starting and ending addresses of the compilation unit from
+them.
+
+@end itemize
+
 @item PCC_SOL_BROKEN
 (Used only in the Convex target.)
 
@@ -1539,6 +1602,10 @@ The number of the ``next program counter'' register, if defined.
 The number of the ``next next program counter'' register, if defined.
 Currently, this is only defined for the Motorola 88K.
 
+@item PARM_BOUNDARY
+If non-zero, round arguments to a boundary of this many bits before
+pushing them on the stack.
+
 @item PRINT_REGISTER_HOOK (regno)
 If defined, this must be a function that prints the contents of the
 given register to standard output.
This page took 0.027284 seconds and 4 git commands to generate.