2002-10-28 David Carlton <carlton@math.stanford.edu>
* symtab.c (find_addr_symbol): Delete. (It was already commented out.) * symtab.h: Delete prototype for find_addr_symbol.
This commit is contained in:
parent
b1744eabdd
commit
e70ea697bd
3 changed files with 6 additions and 95 deletions
|
@ -1,3 +1,9 @@
|
|||
2002-10-28 David Carlton <carlton@math.stanford.edu>
|
||||
|
||||
* symtab.c (find_addr_symbol): Delete. (It was already commented
|
||||
out.)
|
||||
* symtab.h: Delete prototype for find_addr_symbol.
|
||||
|
||||
2002-10-26 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* gdbarch.sh (DEPRECATED_DO_REGISTERS_INFO): Rename
|
||||
|
|
88
gdb/symtab.c
88
gdb/symtab.c
|
@ -1692,94 +1692,6 @@ find_pc_symtab (CORE_ADDR pc)
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
/* Find the closest symbol value (of any sort -- function or variable)
|
||||
for a given address value. Slow but complete. (currently unused,
|
||||
mainly because it is too slow. We could fix it if each symtab and
|
||||
psymtab had contained in it the addresses ranges of each of its
|
||||
sections, which also would be required to make things like "info
|
||||
line *0x2345" cause psymtabs to be converted to symtabs). */
|
||||
|
||||
struct symbol *
|
||||
find_addr_symbol (CORE_ADDR addr, struct symtab **symtabp, CORE_ADDR *symaddrp)
|
||||
{
|
||||
struct symtab *symtab, *best_symtab;
|
||||
struct objfile *objfile;
|
||||
register int bot, top;
|
||||
register struct symbol *sym;
|
||||
register CORE_ADDR sym_addr;
|
||||
struct block *block;
|
||||
int blocknum;
|
||||
|
||||
/* Info on best symbol seen so far */
|
||||
|
||||
register CORE_ADDR best_sym_addr = 0;
|
||||
struct symbol *best_sym = 0;
|
||||
|
||||
/* FIXME -- we should pull in all the psymtabs, too! */
|
||||
ALL_SYMTABS (objfile, symtab)
|
||||
{
|
||||
/* Search the global and static blocks in this symtab for
|
||||
the closest symbol-address to the desired address. */
|
||||
|
||||
for (blocknum = GLOBAL_BLOCK; blocknum <= STATIC_BLOCK; blocknum++)
|
||||
{
|
||||
QUIT;
|
||||
block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), blocknum);
|
||||
ALL_BLOCK_SYMBOLS (block, bot, sym)
|
||||
{
|
||||
switch (SYMBOL_CLASS (sym))
|
||||
{
|
||||
case LOC_STATIC:
|
||||
case LOC_LABEL:
|
||||
sym_addr = SYMBOL_VALUE_ADDRESS (sym);
|
||||
break;
|
||||
|
||||
case LOC_INDIRECT:
|
||||
sym_addr = SYMBOL_VALUE_ADDRESS (sym);
|
||||
/* An indirect symbol really lives at *sym_addr,
|
||||
* so an indirection needs to be done.
|
||||
* However, I am leaving this commented out because it's
|
||||
* expensive, and it's possible that symbolization
|
||||
* could be done without an active process (in
|
||||
* case this read_memory will fail). RT
|
||||
sym_addr = read_memory_unsigned_integer
|
||||
(sym_addr, TARGET_PTR_BIT / TARGET_CHAR_BIT);
|
||||
*/
|
||||
break;
|
||||
|
||||
case LOC_BLOCK:
|
||||
sym_addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
|
||||
break;
|
||||
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
||||
if (sym_addr <= addr)
|
||||
if (sym_addr > best_sym_addr)
|
||||
{
|
||||
/* Quit if we found an exact match. */
|
||||
best_sym = sym;
|
||||
best_sym_addr = sym_addr;
|
||||
best_symtab = symtab;
|
||||
if (sym_addr == addr)
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
done:
|
||||
if (symtabp)
|
||||
*symtabp = best_symtab;
|
||||
if (symaddrp)
|
||||
*symaddrp = best_sym_addr;
|
||||
return best_sym;
|
||||
}
|
||||
#endif /* 0 */
|
||||
|
||||
/* Find the source file and line number for a given PC value and SECTION.
|
||||
Return a structure containing a symtab pointer, a line number,
|
||||
and a pc range for the entire source line.
|
||||
|
|
|
@ -1261,13 +1261,6 @@ extern struct symtab_and_line find_pc_line (CORE_ADDR, int);
|
|||
|
||||
extern struct symtab_and_line find_pc_sect_line (CORE_ADDR, asection *, int);
|
||||
|
||||
/* Given an address, return the nearest symbol at or below it in memory.
|
||||
Optionally return the symtab it's from through 2nd arg, and the
|
||||
address in inferior memory of the symbol through 3rd arg. */
|
||||
|
||||
extern struct symbol *find_addr_symbol (CORE_ADDR, struct symtab **,
|
||||
CORE_ADDR *);
|
||||
|
||||
/* Given a symtab and line number, return the pc there. */
|
||||
|
||||
extern int find_line_pc (struct symtab *, int, CORE_ADDR *);
|
||||
|
|
Loading…
Add table
Reference in a new issue