X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fpsymtab.h;h=a4281c80bfcd5a1456609e28373e8e0d4d3ce3c7;hb=f81e7e2db6d1aaf47561e54356aee12b585533c2;hp=3ee5eee0b659522aef70f9af6b443027f2788e67;hpb=f252c6d5dc49cb27838e153e863f16ea7895859e;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/psymtab.h b/gdb/psymtab.h index 3ee5eee0b6..a4281c80bf 100644 --- a/gdb/psymtab.h +++ b/gdb/psymtab.h @@ -22,14 +22,11 @@ #include "gdb_obstack.h" #include "symfile.h" -#include "common/next-iterator.h" +#include "gdbsupport/next-iterator.h" +#include "bcache.h" struct partial_symbol; -/* A bcache for partial symbols. */ - -struct psymbol_bcache; - /* An instance of this class manages the partial symbol tables and partial symbols for a given objfile. @@ -112,14 +109,18 @@ public: /* Map addresses to the entries of PSYMTABS. It would be more efficient to have a map per the whole process but ADDRMAP cannot selectively remove its items during FREE_OBJFILE. This mapping is already present even for - PARTIAL_SYMTABs which still have no corresponding full SYMTABs read. */ + PARTIAL_SYMTABs which still have no corresponding full SYMTABs read. + + The DWARF parser reuses this addrmap to store things other than + psymtabs in the cases where debug information is being read from, for + example, the .debug-names section. */ struct addrmap *psymtabs_addrmap = nullptr; /* A byte cache where we can stash arbitrary "chunks" of bytes that will not change. */ - struct psymbol_bcache *psymbol_cache; + gdb::bcache psymbol_cache; /* Vectors of all partial symbols read in from file. The actual data is stored in the objfile_obstack. */ @@ -140,21 +141,17 @@ private: }; -extern struct psymbol_bcache *psymbol_bcache_init (void); -extern void psymbol_bcache_free (struct psymbol_bcache *); -extern struct bcache *psymbol_bcache_get_bcache (struct psymbol_bcache *); - extern const struct quick_symbol_functions psym_functions; extern const struct quick_symbol_functions dwarf2_gdb_index_functions; extern const struct quick_symbol_functions dwarf2_debug_names_functions; /* Ensure that the partial symbols for OBJFILE have been loaded. If - VERBOSE is non-zero, then this will print a message when symbols + VERBOSE is true, then this will print a message when symbols are loaded. This function returns a range adapter suitable for iterating over the psymtabs of OBJFILE. */ extern psymtab_storage::partial_symtab_range require_partial_symbols - (struct objfile *objfile, int verbose); + (struct objfile *objfile, bool verbose); #endif /* PSYMTAB_H */