import gdb-2000-01-31 snapshot
[deliverable/binutils-gdb.git] / gdb / doc / gdbint.texinfo
index 21ec1e3ab675c72a0f68ebc4420e4a27927c6a83..db293ef55c801f0051aa25a381ab4ec439d7fe47 100644 (file)
@@ -1545,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.)
 
This page took 0.023819 seconds and 4 git commands to generate.