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:
David Carlton 2002-10-28 17:05:56 +00:00
parent b1744eabdd
commit e70ea697bd
3 changed files with 6 additions and 95 deletions

View File

@ -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

View File

@ -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.

View File

@ -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 *);