summaryrefslogtreecommitdiff
path: root/gdb/partial-stab.h
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-12-17 09:15:10 +0000
committerJohn Gilmore <gnu@cygnus>1992-12-17 09:15:10 +0000
commitde9bef49be9432334e7806405b33cd0d0a69d754 (patch)
treef808a8de6709a41ca1a6d7c0f8fe51f991c7c1a9 /gdb/partial-stab.h
parent8cedeccaa84f502883f22f613fee7bf814db8af3 (diff)
downloadbinutils-gdb-de9bef49be9432334e7806405b33cd0d0a69d754.tar.gz
Eliminate uses of NAMES_HAVE_UNDERSCORE, using
bfd_get_symbol_leading_char instead. * coffread.c (EXTERNAL_NAME): New macro for removing possible leading character from names. (read_coff_symtab): Use BFD's FILE *, don't open a second one. (read_coff_symtab): Complain() about .bb/.eb mismatch, don't error(). (process_coff_symbol, coff_read_struct_type, coff_read_enum_type): Replace NAMES_HAVE_UNDERSCORE with EXTERNAL_NAME. * kdb-start.c (main): Remove NAMES_HAVE_UNDERSCORE. * minsyms.c (install_minimal_symbols): Replace NAMES_HAVE_UNDERSCORE. Remove SOME_NAMES_HAVE_DOT support (apparently unused). * partial-stab.h: Replace NAMES_HAVE_UNDERSCORE. * solib.c: Replace NAMES_HAVE_UNDERSCORE. * stabsread.h: Remove NAMES_HAVE_UNDERSCORE and HASH_OFFSET. * symfile.c (syms_from_objfile): Insert debugging check to test NAMES_HAVE_UNDERSCORE setting against the BFD support. FIXME, remove this (and all tm-*.h NAMES_HAVE_UNDERSCORE) soon. * doc/gdbint.texinfo (Host Conditionals): Remove NAMES_HAVE_UNDERSCORE, SOME_NAMES_HAVE_DOT, document MEM_FNS_DECLARED. (Target Conditionals): Remove all of the above.
Diffstat (limited to 'gdb/partial-stab.h')
-rw-r--r--gdb/partial-stab.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/gdb/partial-stab.h b/gdb/partial-stab.h
index b7fc4455272..06adc8f838f 100644
--- a/gdb/partial-stab.h
+++ b/gdb/partial-stab.h
@@ -117,13 +117,19 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
SET_NAMESTRING ();
/* Check for __DYNAMIC, which is used by Sun shared libraries.
Record it even if it's local, not global, so we can find it.
- Same with virtual function tables, both global and static. */
- if ((namestring[8] == 'C' && (strcmp ("__DYNAMIC", namestring) == 0))
- || VTBL_PREFIX_P ((namestring+HASH_OFFSET)))
- {
- record_minimal_symbol (namestring, CUR_SYMBOL_VALUE,
- CUR_SYMBOL_TYPE, objfile); /* Always */
- }
+ FIXME: this might want to check for _DYNAMIC and the current
+ symbol_leading_char. */
+ if (namestring[8] == 'C' && !strcmp ("__DYNAMIC", namestring))
+ goto record_it;
+
+ /* Same with virtual function tables, both global and static. */
+ {
+ char *tempstring = namestring;
+ if (tempstring[0] == bfd_get_symbol_leading_char (objfile->obfd))
+ tempstring++;
+ if (VTBL_PREFIX_P ((tempstring)))
+ goto record_it;
+ }
#endif /* DBXREAD_ONLY */
continue;