This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch] get rid of some deprecated stuff in minsyms.c
- From: David Carlton <carlton at math dot stanford dot edu>
- To: gdb-patches at sources dot redhat dot com
- Cc: Elena Zannoni <ezannoni at redhat dot com>, Jim Blandy <jimb at redhat dot com>
- Date: 07 Mar 2003 15:08:59 -0800
- Subject: [patch] get rid of some deprecated stuff in minsyms.c
This patch gets rid of the easy deprecated stuff in minsyms.c. It
replaces all uses of DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME
(not too surprising, minsyms are about linkage names) and replaces the
uses of DEPRECATED_SYMBOL_MATCHES_NAME in lookup_minimal_symbol_text
and lookup_minimal_symbol_solib_trampoline by strcmp on linkage
names. The former won't change behavior at all; the latter
conceivably could, but it's correct because those functions already
explicitly state that their argument is supposed to be a linkage name,
and they only search on the linkage name hash table, not the demangled
name hash table.
What this doesn't change is the use of DEPRECATED_SYMBOL_MATCHES_NAME
in lookup_minimal_symbol: that's a much more delicate situation, which
should wait for a later RFA.
Tested on i686-pc-linux-gnu, GCC 3.1, DWARF 2. I'm planning to commit
this as obvious on Monday unless somebody objects.
David Carlton
carlton at math dot stanford dot edu
2003-03-07 David Carlton <carlton at math dot stanford dot edu>
* minsyms.c (add_minsym_to_hash_table): Replace
DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
(compare_minimal_symbols, compact_minimal_symbols)
(install_minimal_symbols, find_solib_trampoline_target): Ditto.
(lookup_minimal_symbol_text): Use strcmp on linkage names instead
of DEPRECATED_SYMBOL_MATCHES_NAME.
(lookup_minimal_symbol_solib_trampoline): Ditto.
Index: minsyms.c
===================================================================
RCS file: /cvs/src/src/gdb/minsyms.c,v
retrieving revision 1.28
diff -u -p -r1.28 minsyms.c
--- minsyms.c 5 Mar 2003 18:01:46 -0000 1.28
+++ minsyms.c 7 Mar 2003 22:31:08 -0000
@@ -113,7 +113,8 @@ add_minsym_to_hash_table (struct minimal
{
if (sym->hash_next == NULL)
{
- unsigned int hash = msymbol_hash (DEPRECATED_SYMBOL_NAME (sym)) % MINIMAL_SYMBOL_HASH_SIZE;
+ unsigned int hash
+ = msymbol_hash (SYMBOL_LINKAGE_NAME (sym)) % MINIMAL_SYMBOL_HASH_SIZE;
sym->hash_next = table[hash];
table[hash] = sym;
}
@@ -288,7 +289,7 @@ lookup_minimal_symbol_text (register con
msymbol != NULL && found_symbol == NULL;
msymbol = msymbol->hash_next)
{
- if (DEPRECATED_SYMBOL_MATCHES_NAME (msymbol, name) &&
+ if (strcmp (SYMBOL_LINKAGE_NAME (msymbol), name) == 0 &&
(MSYMBOL_TYPE (msymbol) == mst_text ||
MSYMBOL_TYPE (msymbol) == mst_file_text))
{
@@ -364,7 +365,7 @@ lookup_minimal_symbol_solib_trampoline (
msymbol != NULL && found_symbol == NULL;
msymbol = msymbol->hash_next)
{
- if (DEPRECATED_SYMBOL_MATCHES_NAME (msymbol, name) &&
+ if (strcmp (SYMBOL_LINKAGE_NAME (msymbol), name) == 0 &&
MSYMBOL_TYPE (msymbol) == mst_solib_trampoline)
return msymbol;
}
@@ -659,8 +660,8 @@ compare_minimal_symbols (const void *fn1
else
/* addrs are equal: sort by name */
{
- char *name1 = DEPRECATED_SYMBOL_NAME (fn1);
- char *name2 = DEPRECATED_SYMBOL_NAME (fn2);
+ char *name1 = SYMBOL_LINKAGE_NAME (fn1);
+ char *name2 = SYMBOL_LINKAGE_NAME (fn2);
if (name1 && name2) /* both have names */
return strcmp (name1, name2);
@@ -752,7 +753,8 @@ compact_minimal_symbols (struct minimal_
{
if (SYMBOL_VALUE_ADDRESS (copyfrom) ==
SYMBOL_VALUE_ADDRESS ((copyfrom + 1)) &&
- (STREQ (DEPRECATED_SYMBOL_NAME (copyfrom), DEPRECATED_SYMBOL_NAME ((copyfrom + 1)))))
+ (STREQ (SYMBOL_LINKAGE_NAME (copyfrom),
+ SYMBOL_LINKAGE_NAME ((copyfrom + 1)))))
{
if (MSYMBOL_TYPE ((copyfrom + 1)) == mst_unknown)
{
@@ -867,9 +869,9 @@ install_minimal_symbols (struct objfile
for (bindex = 0; bindex < msym_bunch_index; bindex++, mcount++)
{
msymbols[mcount] = bunch->contents[bindex];
- if (DEPRECATED_SYMBOL_NAME (&msymbols[mcount])[0] == leading_char)
+ if (SYMBOL_LINKAGE_NAME (&msymbols[mcount])[0] == leading_char)
{
- DEPRECATED_SYMBOL_NAME (&msymbols[mcount])++;
+ SYMBOL_LINKAGE_NAME (&msymbols[mcount])++;
}
}
msym_bunch_index = BUNCH_SIZE;
@@ -898,7 +900,7 @@ install_minimal_symbols (struct objfile
symbol count does *not* include this null symbol, which is why it
is indexed by mcount and not mcount-1. */
- DEPRECATED_SYMBOL_NAME (&msymbols[mcount]) = NULL;
+ SYMBOL_LINKAGE_NAME (&msymbols[mcount]) = NULL;
SYMBOL_VALUE_ADDRESS (&msymbols[mcount]) = 0;
MSYMBOL_INFO (&msymbols[mcount]) = NULL;
MSYMBOL_TYPE (&msymbols[mcount]) = mst_unknown;
@@ -918,7 +920,7 @@ install_minimal_symbols (struct objfile
for (i = 0; i < mcount; i++)
{
- const char *name = DEPRECATED_SYMBOL_NAME (&objfile->msymbols[i]);
+ const char *name = SYMBOL_LINKAGE_NAME (&objfile->msymbols[i]);
if (name[0] == '_' && name[1] == 'Z')
{
set_cp_abi_as_auto_default ("gnu-v3");
@@ -981,7 +983,8 @@ find_solib_trampoline_target (CORE_ADDR
ALL_MSYMBOLS (objfile, msymbol)
{
if (MSYMBOL_TYPE (msymbol) == mst_text
- && STREQ (DEPRECATED_SYMBOL_NAME (msymbol), DEPRECATED_SYMBOL_NAME (tsymbol)))
+ && STREQ (SYMBOL_LINKAGE_NAME (msymbol),
+ SYMBOL_LINKAGE_NAME (tsymbol)))
return SYMBOL_VALUE_ADDRESS (msymbol);
}
}