* symtab.c: Remove a function that has been commented out 3 years ago.
This commit is contained in:
parent
c25c34f8fb
commit
fd4a0f2fbb
@ -1,3 +1,7 @@
|
||||
2007-08-29 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* symtab.c: Remove a function that has been commented out 3 years ago.
|
||||
|
||||
2007-08-29 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* hppa-tdep.c (hppa32_cannot_fetch_register)
|
||||
|
135
gdb/symtab.c
135
gdb/symtab.c
@ -108,15 +108,6 @@ struct symbol *lookup_symbol_aux_psymtabs (int block_index,
|
||||
const domain_enum domain,
|
||||
struct symtab **symtab);
|
||||
|
||||
#if 0
|
||||
static
|
||||
struct symbol *lookup_symbol_aux_minsyms (const char *name,
|
||||
const char *linkage_name,
|
||||
const domain_enum domain,
|
||||
int *is_a_field_of_this,
|
||||
struct symtab **symtab);
|
||||
#endif
|
||||
|
||||
static void fixup_section (struct general_symbol_info *, struct objfile *);
|
||||
|
||||
static int file_matches (char *, char **, int);
|
||||
@ -1466,132 +1457,6 @@ lookup_symbol_aux_psymtabs (int block_index, const char *name,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Check for the possibility of the symbol being a function or a
|
||||
mangled variable that is stored in one of the minimal symbol
|
||||
tables. Eventually, all global symbols might be resolved in this
|
||||
way. */
|
||||
|
||||
/* NOTE: carlton/2002-12-05: At one point, this function was part of
|
||||
lookup_symbol_aux, and what are now 'return' statements within
|
||||
lookup_symbol_aux_minsyms returned from lookup_symbol_aux, even if
|
||||
sym was NULL. As far as I can tell, this was basically accidental;
|
||||
it didn't happen every time that msymbol was non-NULL, but only if
|
||||
some additional conditions held as well, and it caused problems
|
||||
with HP-generated symbol tables. */
|
||||
|
||||
/* NOTE: carlton/2003-05-14: This function was once used as part of
|
||||
lookup_symbol. It is currently unnecessary for correctness
|
||||
reasons, however, and using it doesn't seem to be any faster than
|
||||
using lookup_symbol_aux_psymtabs, so I'm commenting it out. */
|
||||
|
||||
static struct symbol *
|
||||
lookup_symbol_aux_minsyms (const char *name,
|
||||
const char *linkage_name,
|
||||
const domain_enum domain,
|
||||
int *is_a_field_of_this,
|
||||
struct symtab **symtab)
|
||||
{
|
||||
struct symbol *sym;
|
||||
struct blockvector *bv;
|
||||
const struct block *block;
|
||||
struct minimal_symbol *msymbol;
|
||||
struct symtab *s;
|
||||
|
||||
if (domain == VAR_DOMAIN)
|
||||
{
|
||||
msymbol = lookup_minimal_symbol (name, NULL, NULL);
|
||||
|
||||
if (msymbol != NULL)
|
||||
{
|
||||
/* OK, we found a minimal symbol in spite of not finding any
|
||||
symbol. There are various possible explanations for
|
||||
this. One possibility is the symbol exists in code not
|
||||
compiled -g. Another possibility is that the 'psymtab'
|
||||
isn't doing its job. A third possibility, related to #2,
|
||||
is that we were confused by name-mangling. For instance,
|
||||
maybe the psymtab isn't doing its job because it only
|
||||
know about demangled names, but we were given a mangled
|
||||
name... */
|
||||
|
||||
/* We first use the address in the msymbol to try to locate
|
||||
the appropriate symtab. Note that find_pc_sect_symtab()
|
||||
has a side-effect of doing psymtab-to-symtab expansion,
|
||||
for the found symtab. */
|
||||
s = find_pc_sect_symtab (SYMBOL_VALUE_ADDRESS (msymbol),
|
||||
SYMBOL_BFD_SECTION (msymbol));
|
||||
if (s != NULL)
|
||||
{
|
||||
/* This is a function which has a symtab for its address. */
|
||||
bv = BLOCKVECTOR (s);
|
||||
block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
|
||||
|
||||
/* This call used to pass `SYMBOL_LINKAGE_NAME (msymbol)' as the
|
||||
`name' argument to lookup_block_symbol. But the name
|
||||
of a minimal symbol is always mangled, so that seems
|
||||
to be clearly the wrong thing to pass as the
|
||||
unmangled name. */
|
||||
sym =
|
||||
lookup_block_symbol (block, name, linkage_name, domain);
|
||||
/* We kept static functions in minimal symbol table as well as
|
||||
in static scope. We want to find them in the symbol table. */
|
||||
if (!sym)
|
||||
{
|
||||
block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
|
||||
sym = lookup_block_symbol (block, name,
|
||||
linkage_name, domain);
|
||||
}
|
||||
|
||||
/* NOTE: carlton/2002-12-04: The following comment was
|
||||
taken from a time when two versions of this function
|
||||
were part of the body of lookup_symbol_aux: this
|
||||
comment was taken from the version of the function
|
||||
that was #ifdef HPUXHPPA, and the comment was right
|
||||
before the 'return NULL' part of lookup_symbol_aux.
|
||||
(Hence the "Fall through and return 0" comment.)
|
||||
Elena did some digging into the situation for
|
||||
Fortran, and she reports:
|
||||
|
||||
"I asked around (thanks to Jeff Knaggs), and I think
|
||||
the story for Fortran goes like this:
|
||||
|
||||
"Apparently, in older Fortrans, '_' was not part of
|
||||
the user namespace. g77 attached a final '_' to
|
||||
procedure names as the exported symbols for linkage
|
||||
(foo_) , but the symbols went in the debug info just
|
||||
like 'foo'. The rationale behind this is not
|
||||
completely clear, and maybe it was done to other
|
||||
symbols as well, not just procedures." */
|
||||
|
||||
/* If we get here with sym == 0, the symbol was
|
||||
found in the minimal symbol table
|
||||
but not in the symtab.
|
||||
Fall through and return 0 to use the msymbol
|
||||
definition of "foo_".
|
||||
(Note that outer code generally follows up a call
|
||||
to this routine with a call to lookup_minimal_symbol(),
|
||||
so a 0 return means we'll just flow into that other routine).
|
||||
|
||||
This happens for Fortran "foo_" symbols,
|
||||
which are "foo" in the symtab.
|
||||
|
||||
This can also happen if "asm" is used to make a
|
||||
regular symbol but not a debugging symbol, e.g.
|
||||
asm(".globl _main");
|
||||
asm("_main:");
|
||||
*/
|
||||
|
||||
if (symtab != NULL && sym != NULL)
|
||||
*symtab = s;
|
||||
return fixup_symbol_section (sym, s->objfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#endif /* 0 */
|
||||
|
||||
/* A default version of lookup_symbol_nonlocal for use by languages
|
||||
that can't think of anything better to do. This implements the C
|
||||
lookup rules. */
|
||||
|
Loading…
Reference in New Issue
Block a user