diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-10-19 12:26:35 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-10-19 12:26:35 +0000 |
commit | 203c3895a5003367e77494ca9428446417fce1bc (patch) | |
tree | 3bf4251bc1ca88b89716661d8c1c7ec00c84157a /gdb/doc/gdbint.texinfo | |
parent | 149ad273c520ca22c19edc35f054fd05fe6cc6e7 (diff) | |
download | gdb-203c3895a5003367e77494ca9428446417fce1bc.zip gdb-203c3895a5003367e77494ca9428446417fce1bc.tar.gz gdb-203c3895a5003367e77494ca9428446417fce1bc.tar.bz2 |
* gdbarch.sh (sofun_address_maybe_missing): New gdbarch variable.
* gdbarch.c, gdbarch.h: Regenerate.
* dbxread.c (find_stab_function_addr): Define unconditionally.
(read_dbx_symtab): Use gdbarch_sofun_address_maybe_missing
instead of SOFUN_ADDRESS_MAYBE_MISSING.
(end_psymtab): Likewise.
(process_one_symbol): Likewise.
* mdebugread.c (parse_partial_symbols): Likewise.
* symtab.h (struct minimal_symbol): Always define "filename" member.
* elfread.c (elf_symtab_read): Use msym->filename unconditionally.
* minsyms.c (lookup_minimal_symbol): Likewise.
* symmisc.c (dump_msymbols): Likewise.
* config/i386/i386sol2.mt (DEPRECATED_TM_FILE): Remove.
* config/i386/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/i386/tm-i386sol2.h: Remove file.
* config/i386/tm-linux.h: Remove file.
* i386-linux-tdep.c (i386_linux_init_abi): Add call to
set_gdbarch_sofun_address_maybe_missing.
* i386-sol2-tdep.c (i386_sol2_init_abi): Likewise.
* config/powerpc/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/nbsd.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/obsd.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/ppc-eabi.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/ppc-sim.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/tm-ppc-eabi.h: Remove file.
* rs6000-tdep.c (rs6000_gdbarch_init): Add call to
set_gdbarch_sofun_address_maybe_missing.
* config/sparc/sol2-64.mt (DEPRECATED_TM_FILE): Remove.
* config/sparc/sol2.mt (DEPRECATED_TM_FILE): Remove.
* config/sparc/tm-sol2.h: Remove file.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Add call to
set_gdbarch_sofun_address_maybe_missing.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Likewise.
doc/ChangeLog:
* gdbarch.texi (Target Conditionals): Remove documentation of
SOFUN_ADDRESS_MAYBE_MISSING, replaced by ...
(Compiler Characteristics): ... documentation of
set_gdbarch_sofun_address_maybe_missing.
Diffstat (limited to 'gdb/doc/gdbint.texinfo')
-rw-r--r-- | gdb/doc/gdbint.texinfo | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 7c9b519..24e9e4f 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -3264,6 +3264,38 @@ See @file{mips-tdep.c}. It does not do what you want. @node Compiler Characteristics @section Compiler Characteristics +@item set_gdbarch_sofun_address_maybe_missing (@var{gdbarch}, @var{set}) +@findex set_gdbarch_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. + +Calling @code{set_gdbarch_sofun_address_maybe_missing} with a non-zero +argument @var{set} 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. + +In this case, @value{GDBN} assumes two things: + +@itemize @bullet +@item +@code{N_FUN} stabs have an address of zero. Instead of using those +addresses, you should find the address 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 + @node Target Conditionals @section Target Conditionals @@ -3825,38 +3857,6 @@ A function that inserts or removes (depending on the next instruction. See @file{sparc-tdep.c} and @file{rs6000-tdep.c} for examples. -@item SOFUN_ADDRESS_MAYBE_MISSING -@findex 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 int gdbarch_pc_regnum (@var{gdbarch}) @findex gdbarch_pc_regnum If the program counter is kept in a register, then let this function return |