diff options
author | Jim Blandy <jimb@codesourcery.com> | 2000-03-07 04:33:52 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2000-03-07 04:33:52 +0000 |
commit | 9227b5eb3d7250fbab15403782b3187f2b9e937c (patch) | |
tree | d91a0c4e541f296c5b60bb91a22ae690cce252d7 /gdb/objfiles.h | |
parent | ded0aeb7910b20f42da2a71582a6ca4538f8991d (diff) | |
download | gdb-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.h | 14 |
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, |