#include "hashtab.h"
#include "gdb_obstack.h" /* For obstack internals. */
#include "objfile-flags.h"
-#include "symfile.h" /* For struct psymbol_allocation_list. */
+#include "symfile.h"
#include "progspace.h"
#include "registry.h"
#include "gdb_bfd.h"
+#include <vector>
struct bcache;
struct htab;
struct objfile_data;
+struct partial_symbol;
/* This structure maintains information on a per-objfile basis about the
"entry point" of the objfile, and the scope within which the entry point
demangled names. */
minimal_symbol *msymbol_demangled_hash[MINIMAL_SYMBOL_HASH_SIZE] {};
+
+ /* All the different languages of symbols found in the demangled
+ hash table. A flat/vector-based map is more efficient than a map
+ or hash table here, since this will only usually contain zero or
+ one entries. */
+ std::vector<enum language> demangled_hash_languages;
};
/* Master structure for keeping track of each file from which
struct psymbol_bcache *psymbol_cache;
+ /* Map symbol addresses to the partial symtab that defines the
+ object at that address. */
+
+ std::vector<std::pair<CORE_ADDR, partial_symtab *>> psymbol_map;
+
/* Vectors of all partial symbols read in from file. The actual data
is stored in the objfile_obstack. */
- struct psymbol_allocation_list global_psymbols {};
- struct psymbol_allocation_list static_psymbols {};
+ std::vector<partial_symbol *> global_psymbols;
+ std::vector<partial_symbol *> static_psymbols;
/* Structure which keeps track of functions that manipulate objfile's
of the same type as this objfile. I.e. the function to read partial
extern void free_objfile_separate_debug (struct objfile *);
-extern struct cleanup *make_cleanup_free_objfile (struct objfile *);
-
extern void free_all_objfiles (void);
extern void objfile_relocate (struct objfile *, const struct section_offsets *);