aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2000-03-07 04:33:52 +0000
committerJim Blandy <jimb@codesourcery.com>2000-03-07 04:33:52 +0000
commit9227b5eb3d7250fbab15403782b3187f2b9e937c (patch)
treed91a0c4e541f296c5b60bb91a22ae690cce252d7 /gdb/objfiles.h
parentded0aeb7910b20f42da2a71582a6ca4538f8991d (diff)
downloadgdb-9227b5eb3d7250fbab15403782b3187f2b9e937c.zip
gdb-9227b5eb3d7250fbab15403782b3187f2b9e937c.tar.gz
gdb-9227b5eb3d7250fbab15403782b3187f2b9e937c.tar.bz2
From Tom Tromey <tromey@cygnus.com> and Keith Seitz <?>:
* minsyms.c: #include <ctype.h>, for msymbol_hash_iw. (compact_minimal_symbols): Added `objfile' argument. Put symbols in the objfile's hash table. (install_minimal_symbols): Put symbols in the objfile's demangled hash table. (lookup_minimal_symbol): Use hash table to find symbol in objfile. (msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): New functions. (prim_record_minimal_symbol_and_info): Initialize the hash link fields of the new minimal symbol. * symtab.h (struct minimal_symbol): New fields `hash_next', `demangled_hash_next'. (msymbol_hash_iw, msymbol_hash, add_minsym_to_hash_table): Declare. * objfiles.h (MINIMAL_SYMBOL_HASH_SIZE): New define. (struct objfile): New fields `msymbol_hash', `msymbol_demangled_hash'.
Diffstat (limited to 'gdb/objfiles.h')
-rw-r--r--gdb/objfiles.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index 98d4575..d1bd4da 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -1,5 +1,5 @@
/* Definitions for symbol file management in GDB.
- Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1999 Free Software Foundation, Inc.
This file is part of GDB.
@@ -200,6 +200,9 @@ struct objstats
extern void print_objfile_statistics PARAMS ((void));
extern void print_symbol_bcache_statistics PARAMS ((void));
+/* Number of entries in the minimal symbol hash table. */
+#define MINIMAL_SYMBOL_HASH_SIZE 349
+
/* Master structure for keeping track of each file from which
gdb reads symbols. There are several ways these get allocated: 1.
The main symbol file, symfile_objfile, set by the symbol-file command,
@@ -292,6 +295,15 @@ struct objfile
struct minimal_symbol *msymbols;
int minimal_symbol_count;
+ /* This is a hash table used to index the minimal symbols by name. */
+
+ struct minimal_symbol *msymbol_hash[MINIMAL_SYMBOL_HASH_SIZE];
+
+ /* This hash table is used to index the minimal symbols by their
+ demangled names. */
+
+ struct minimal_symbol *msymbol_demangled_hash[MINIMAL_SYMBOL_HASH_SIZE];
+
/* For object file formats which don't specify fundamental types, gdb
can create such types. For now, it maintains a vector of pointers
to these internally created fundamental types on a per objfile basis,