24#include "gdbsupport/gdb_string_view.h"
25#include "gdbsupport/gdb_obstack.h"
27#include "gdbsupport/next-iterator.h"
38 unsigned long hash (
const void *addr,
int length)
override;
43 int compare (
const void *left,
const void *right,
int length)
override;
234 ATTRIBUTE_NONNULL (2) ATTRIBUTE_NONNULL (3);
243 unrelocated_addr addr)
244 ATTRIBUTE_NONNULL (2) ATTRIBUTE_NONNULL (3);
354 unrelocated_addr coreaddr,
487 unrelocated_addr addr)
529 unrelocated_addr addr)
537 (*legacy_read_symtab) (
this, objf);
542 (*legacy_expand_psymtab) (
this, objf);
621 bool *symbol_found_p)
override;
638 gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
640 gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
641 gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
642 block_search_flags search_flags,
648 CORE_ADDR pc,
struct obj_section *section,
int warn_if_readin)
override;
657 gdb::function_view<symbol_filename_ftype> fun,
658 bool need_fullname)
override;
psymtab_storage * m_partial_symtabs
struct partial_symtab * m_psymtab
psymtab_discarder(psymtab_storage *partial_symtabs)
struct partial_symtab * psymtabs
gdb::optional< auto_obstack > m_obstack
void discard_psymtab(struct partial_symtab *pst)
psymtab_storage()=default
DISABLE_COPY_AND_ASSIGN(psymtab_storage)
partial_symtab_range range()
void install_psymtab(partial_symtab *pst)
struct partial_symtab ** allocate_dependencies(int number)
void discard_psymtabs_to(struct partial_symtab *to)
next_range< partial_symtab > partial_symtab_range
struct obstack * obstack()
psymbol_bcache psymbol_cache
std::string copy_name(struct stoken token)
@ PST_SEARCHED_AND_NOT_FOUND
int symbol_compare_ftype(const char *string1, const char *string2)
void forget_cached_source_info(void)
void set_unrelocated_address(unrelocated_addr addr)
short section_index() const
struct obj_section * obj_section(const struct objfile *objfile) const
unrelocated_addr unrelocated_address() const
legacy_psymtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd)
void expand_psymtab(struct objfile *objf) override
void * read_symtab_private
void read_symtab(struct objfile *objf) override
legacy_psymtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd, unrelocated_addr addr)
void(* legacy_expand_psymtab)(legacy_psymtab *, struct objfile *)
void(* legacy_read_symtab)(legacy_psymtab *, struct objfile *)
CORE_ADDR text_section_offset() const
::section_offsets section_offsets
void set_unrelocated_address(unrelocated_addr addr)
struct obj_section * obj_section(struct objfile *objfile) const
__extension__ enum domain_enum domain
unrelocated_addr unrelocated_address() const
CORE_ADDR address(const struct objfile *objfile) const
struct general_symbol_info ginfo
__extension__ enum address_class aclass
struct partial_symtab * user
virtual struct compunit_symtab * get_compunit_symtab(struct objfile *) const =0
struct partial_symtab ** dependencies
unsigned int text_low_valid
std::vector< partial_symbol * > static_psymbols
virtual ~partial_symtab()
unrelocated_addr unrelocated_text_low() const
unsigned int text_high_valid
unrelocated_addr m_text_low
partial_symtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
__extension__ enum psymtab_search_status searched_flag
unrelocated_addr unrelocated_text_high() const
unrelocated_addr m_text_high
virtual bool readin_p(struct objfile *) const =0
void set_text_high(unrelocated_addr addr)
virtual void expand_psymtab(struct objfile *)=0
std::vector< partial_symbol * > global_psymbols
int number_of_dependencies
virtual void read_symtab(struct objfile *)=0
CORE_ADDR text_high(struct objfile *objfile) const
void expand_dependencies(struct objfile *)
void set_text_low(unrelocated_addr addr)
void add_psymbol(gdb::string_view name, bool copy_name, domain_enum domain, enum address_class theclass, short section, psymbol_placement where, unrelocated_addr coreaddr, enum language language, psymtab_storage *partial_symtabs, struct objfile *objfile)
CORE_ADDR text_low(struct objfile *objfile) const
unsigned long hash(const void *addr, int length) override
int compare(const void *left, const void *right, int length) override
enum language lookup_global_symbol_language(struct objfile *objfile, const char *name, domain_enum domain, bool *symbol_found_p) override
struct compunit_symtab * find_pc_sect_compunit_symtab(struct objfile *objfile, struct bound_minimal_symbol msymbol, CORE_ADDR pc, struct obj_section *section, int warn_if_readin) override
void dump(struct objfile *objfile) override
psymbol_functions(const std::shared_ptr< psymtab_storage > &storage)
const std::shared_ptr< psymtab_storage > & get_partial_symtabs() const
void print_stats(struct objfile *objfile, bool print_bcache) override
void expand_matching_symbols(struct objfile *, const lookup_name_info &lookup_name, domain_enum domain, int global, symbol_compare_ftype *ordered_compare) override
void expand_all_symtabs(struct objfile *objfile) override
psymtab_storage::partial_symtab_range partial_symbols(struct objfile *objfile)
void map_symbol_filenames(struct objfile *objfile, gdb::function_view< symbol_filename_ftype > fun, bool need_fullname) override
void set_partial_symtabs(const std::shared_ptr< psymtab_storage > &syms)
struct symtab * find_last_source_symtab(struct objfile *objfile) override
std::shared_ptr< psymtab_storage > m_partial_symtabs
bool has_unexpanded_symtabs(struct objfile *objfile) override
struct partial_symtab * find_pc_sect_psymtab(struct objfile *objfile, CORE_ADDR pc, struct obj_section *section, struct bound_minimal_symbol msymbol)
bool expand_symtabs_matching(struct objfile *objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, const lookup_name_info *lookup_name, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, block_search_flags search_flags, domain_enum domain, enum search_domain kind) override
bool has_symbols(struct objfile *objfile) override
struct compunit_symtab * find_compunit_symtab_by_address(struct objfile *objfile, CORE_ADDR address) override
struct compunit_symtab * compunit_symtab
struct compunit_symtab * get_compunit_symtab(struct objfile *) const override
standard_psymtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd)
standard_psymtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd, unrelocated_addr addr)
bool readin_p(struct objfile *) const override
#define SYMBOL_DOMAIN_BITS
#define SYMBOL_ACLASS_BITS