25#include "gdbsupport/gdb_string_view.h"
124 ATTRIBUTE_NONNULL (2) ATTRIBUTE_NONNULL (3);
134 ATTRIBUTE_NONNULL (2) ATTRIBUTE_NONNULL (3);
425 (*legacy_read_symtab) (
this, objf);
430 (*legacy_expand_psymtab) (
this, objf);
509 bool *symbol_found_p)
override;
526 gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
528 gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
529 gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
530 block_search_flags search_flags,
536 CORE_ADDR pc,
struct obj_section *section,
int warn_if_readin)
override;
542 gdb::function_view<symbol_filename_ftype> fun,
543 bool need_fullname)
override;
586 std::set<CORE_ADDR> *seen_addrs,
587 const std::vector<partial_symbol *> &symbols);
psymtab_storage * m_partial_symtabs
struct partial_symtab * m_psymtab
psymtab_discarder(psymtab_storage *partial_symtabs)
void discard_psymtabs_to(struct partial_symtab *to)
next_range< partial_symtab > partial_symtab_range
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)
CORE_ADDR value_address() const
void set_value_address(CORE_ADDR address)
short section_index() const
struct obj_section * obj_section(const struct objfile *objfile) const
legacy_psymtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd, CORE_ADDR addr)
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
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
struct obj_section * obj_section(struct objfile *objfile) const
__extension__ enum domain_enum domain
CORE_ADDR address(const struct objfile *objfile) const
struct general_symbol_info ginfo
__extension__ enum address_class aclass
void set_unrelocated_address(CORE_ADDR addr)
CORE_ADDR unrelocated_address() const
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()
CORE_ADDR raw_text_low() const
unsigned int text_high_valid
__extension__ enum psymtab_search_status searched_flag
virtual bool readin_p(struct objfile *) const =0
void set_text_low(CORE_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
struct partial_symtab * next
CORE_ADDR text_high(struct objfile *objfile) const
void expand_dependencies(struct objfile *)
void add_psymbol(gdb::string_view name, bool copy_name, domain_enum domain, enum address_class theclass, short section, psymbol_placement where, CORE_ADDR coreaddr, enum language language, psymtab_storage *partial_symtabs, struct objfile *objfile)
CORE_ADDR raw_text_high() const
void set_text_high(CORE_ADDR addr)
CORE_ADDR text_low(struct objfile *objfile) const
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
struct compunit_symtab * find_compunit_symtab_by_address(struct objfile *objfile, CORE_ADDR address) override
void fill_psymbol_map(struct objfile *objfile, struct partial_symtab *psymtab, std::set< CORE_ADDR > *seen_addrs, const std::vector< partial_symbol * > &symbols)
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
void relocated() override
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)
std::vector< std::pair< CORE_ADDR, partial_symtab * > > m_psymbol_map
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 * 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, CORE_ADDR addr)
standard_psymtab(const char *filename, psymtab_storage *partial_symtabs, objfile_per_bfd_storage *objfile_per_bfd)
bool readin_p(struct objfile *) const override
#define SYMBOL_DOMAIN_BITS
#define SYMBOL_ACLASS_BITS