GDB (xrefs)
|
#include <array>
#include <vector>
#include <string>
#include <set>
#include "gdbsupport/gdb_vecs.h"
#include "gdbtypes.h"
#include "gdbsupport/gdb_obstack.h"
#include "gdbsupport/gdb_regex.h"
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/gdb_optional.h"
#include "gdbsupport/gdb_string_view.h"
#include "gdbsupport/next-iterator.h"
#include "gdbsupport/iterator-range.h"
#include "completer.h"
#include "gdb-demangle.h"
#include "split-name.h"
#include "minsyms.h"
Go to the source code of this file.
Classes | |
class | ada_lookup_name_info |
struct | demangle_for_lookup_info |
class | lookup_name_info |
struct | general_symbol_info |
struct | minimal_symbol |
struct | symbol_computed_ops |
struct | symbol_block_ops |
struct | symbol_register_ops |
struct | symbol_impl |
struct | symbol |
struct | block_symbol |
struct | template_symbol |
struct | rust_vtable_symbol |
struct | linetable_entry |
struct | linetable |
struct | symtab |
struct | compunit_symtab |
struct | field_of_this_result |
struct | gnu_ifunc_fns |
struct | symtab_and_line |
struct | symbol_search |
class | global_symbol_searcher |
class | demangle_result_storage |
class | symbol_searcher |
struct | info_sources_filter |
Macros | |
#define | MINSYM_TYPE_BITS 4 |
#define | SYMBOL_DOMAIN_BITS 3 |
#define | SYMBOL_ACLASS_BITS 5 |
#define | SYMBOL_COMPUTED_OPS(symbol) ((symbol)->impl ().ops_computed) |
#define | SYMBOL_BLOCK_OPS(symbol) ((symbol)->impl ().ops_block) |
#define | SYMBOL_REGISTER_OPS(symbol) ((symbol)->impl ().ops_register) |
#define | SYMBOL_LOCATION_BATON(symbol) (symbol)->aux_value |
#define | VTBL_FNADDR_OFFSET 2 |
#define | GCC_COMPILED_FLAG_SYMBOL "gcc_compiled." |
#define | GCC2_COMPILED_FLAG_SYMBOL "gcc2_compiled." |
#define | gnu_ifunc_resolve_addr gnu_ifunc_fns_p->gnu_ifunc_resolve_addr |
#define | gnu_ifunc_resolve_name gnu_ifunc_fns_p->gnu_ifunc_resolve_name |
#define | gnu_ifunc_resolver_stop gnu_ifunc_fns_p->gnu_ifunc_resolver_stop |
#define | gnu_ifunc_resolver_return_stop gnu_ifunc_fns_p->gnu_ifunc_resolver_return_stop |
#define | symtab_create_debug_printf(fmt, ...) debug_prefixed_printf_cond (symtab_create_debug >= 1, "symtab-create", fmt, ##__VA_ARGS__) |
#define | symtab_create_debug_printf_v(fmt, ...) debug_prefixed_printf_cond (symtab_create_debug >= 2, "symtab-create", fmt, ##__VA_ARGS__) |
#define | symbol_lookup_debug_printf(fmt, ...) |
#define | symbol_lookup_debug_printf_v(fmt, ...) |
#define | SYMBOL_LOOKUP_SCOPED_DEBUG_ENTER_EXIT scoped_debug_enter_exit (symbol_lookup_debug_enabled, "symbol-lookup") |
Typedefs | |
typedef bool() | symbol_name_matcher_ftype(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res) |
typedef std::vector< CORE_ADDR > | section_offsets |
using | symtab_range = next_range< symtab > |
using | compunit_symtab_range = next_range< compunit_symtab > |
typedef std::pair< symbol_search, symbol_search > | module_symbol_search |
typedef bool() | symbol_found_callback_ftype(struct block_symbol *bsym) |
Enumerations | |
enum class | symbol_name_match_type { WILD , FULL , SEARCH_NAME , EXPRESSION } |
enum | minimal_symbol_type { mst_unknown = 0 , mst_text , mst_text_gnu_ifunc , mst_data_gnu_ifunc , mst_slot_got_plt , mst_data , mst_bss , mst_abs , mst_solib_trampoline , mst_file_text , mst_file_data , mst_file_bss , nr_minsym_types } |
enum | domain_enum { UNDEF_DOMAIN , VAR_DOMAIN , STRUCT_DOMAIN , MODULE_DOMAIN , LABEL_DOMAIN , COMMON_BLOCK_DOMAIN , NR_DOMAINS } |
enum | search_domain { VARIABLES_DOMAIN = 0 , FUNCTIONS_DOMAIN = 1 , TYPES_DOMAIN = 2 , MODULES_DOMAIN = 3 , ALL_DOMAIN = 4 } |
enum | address_class { LOC_UNDEF , LOC_CONST , LOC_STATIC , LOC_REGISTER , LOC_ARG , LOC_REF_ARG , LOC_REGPARM_ADDR , LOC_LOCAL , LOC_TYPEDEF , LOC_LABEL , LOC_BLOCK , LOC_CONST_BYTES , LOC_UNRESOLVED , LOC_OPTIMIZED_OUT , LOC_COMPUTED , LOC_COMMON_BLOCK , LOC_FINAL_VALUE } |
enum | symbol_subclass_kind { SYMBOL_NONE , SYMBOL_TEMPLATE , SYMBOL_RUST_VTABLE } |
enum class | complete_symbol_mode { EXPRESSION , LINESPEC } |
Functions | |
unsigned int | search_name_hash (enum language language, const char *search_name) |
CORE_ADDR | symbol_overlayed_address (CORE_ADDR, struct obj_section *) |
CORE_ADDR | get_symbol_address (const struct symbol *sym) |
gdb::unique_xmalloc_ptr< char > | symbol_find_demangled_name (struct general_symbol_info *gsymbol, const char *mangled) |
bool | symbol_matches_search_name (const struct general_symbol_info *gsymbol, const lookup_name_info &name) |
gdb_static_assert (nr_minsym_types<=(1<< MINSYM_TYPE_BITS)) | |
CORE_ADDR | get_msymbol_address (struct objfile *objf, const struct minimal_symbol *minsym) |
gdb_static_assert (NR_DOMAINS<=(1<< SYMBOL_DOMAIN_BITS)) | |
const char * | domain_name (domain_enum) |
const char * | search_domain_name (enum search_domain) |
gdb_static_assert (LOC_FINAL_VALUE<=(1<< SYMBOL_ACLASS_BITS)) | |
int | register_symbol_computed_impl (enum address_class, const struct symbol_computed_ops *) |
int | register_symbol_block_impl (enum address_class aclass, const struct symbol_block_ops *ops) |
int | register_symbol_register_impl (enum address_class, const struct symbol_register_ops *) |
static bool | is_main_symtab_of_compunit_symtab (struct symtab *symtab) |
const char * | multiple_symbols_select_mode (void) |
bool | symbol_matches_domain (enum language symbol_language, domain_enum symbol_domain, domain_enum domain) |
struct symtab * | lookup_symtab (const char *) |
struct block_symbol | lookup_symbol_in_language (const char *, const struct block *, const domain_enum, enum language, struct field_of_this_result *) |
struct block_symbol | lookup_symbol (const char *, const struct block *, const domain_enum, struct field_of_this_result *) |
struct block_symbol | lookup_symbol_search_name (const char *search_name, const struct block *block, domain_enum domain) |
struct block_symbol | lookup_symbol_in_static_block (const char *name, const struct block *block, const domain_enum domain) |
struct block_symbol | lookup_static_symbol (const char *name, const domain_enum domain) |
struct block_symbol | lookup_global_symbol (const char *name, const struct block *block, const domain_enum domain) |
struct symbol * | lookup_symbol_in_block (const char *name, symbol_name_match_type match_type, const struct block *block, const domain_enum domain) |
struct block_symbol | lookup_language_this (const struct language_defn *lang, const struct block *block) |
struct type * | lookup_struct (const char *, const struct block *) |
struct type * | lookup_union (const char *, const struct block *) |
struct type * | lookup_enum (const char *, const struct block *) |
struct symbol * | find_pc_function (CORE_ADDR) |
struct symbol * | find_pc_sect_function (CORE_ADDR, struct obj_section *) |
struct symbol * | find_pc_sect_containing_function (CORE_ADDR pc, struct obj_section *section) |
struct symbol * | find_symbol_at_address (CORE_ADDR) |
bool | find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr, const struct block **block=nullptr) |
bool | find_pc_partial_function_sym (CORE_ADDR pc, const general_symbol_info **sym, CORE_ADDR *address, CORE_ADDR *endaddr, const struct block **block=nullptr) |
bool | find_function_entry_range_from_pc (CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr) |
struct type * | find_function_type (CORE_ADDR pc) |
struct type * | find_gnu_ifunc_target_type (CORE_ADDR resolver_funaddr) |
bound_minimal_symbol | find_gnu_ifunc (const symbol *sym) |
void | clear_pc_function_cache (void) |
void | expand_symtab_containing_pc (CORE_ADDR, struct obj_section *) |
struct compunit_symtab * | find_pc_compunit_symtab (CORE_ADDR) |
struct compunit_symtab * | find_pc_sect_compunit_symtab (CORE_ADDR, struct obj_section *) |
bool | find_pc_line_pc_range (CORE_ADDR, CORE_ADDR *, CORE_ADDR *) |
void | reread_symbols (int from_tty) |
struct type * | lookup_transparent_type (const char *) |
struct type * | basic_lookup_transparent_type (const char *) |
bool | in_gnu_ifunc_stub (CORE_ADDR pc) |
CORE_ADDR | find_solib_trampoline_target (frame_info_ptr, CORE_ADDR) |
struct symtab_and_line | find_pc_line (CORE_ADDR, int) |
struct symtab_and_line | find_pc_sect_line (CORE_ADDR, struct obj_section *, int) |
struct symtab * | find_pc_line_symtab (CORE_ADDR) |
bool | find_line_pc (struct symtab *, int, CORE_ADDR *) |
bool | find_line_pc_range (struct symtab_and_line, CORE_ADDR *, CORE_ADDR *) |
void | resolve_sal_pc (struct symtab_and_line *) |
void | clear_solib (void) |
void | default_collect_symbol_completion_matches_break_on (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word, const char *break_on, enum type_code code) |
void | collect_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *, const char *) |
void | collect_symbol_completion_matches_type (completion_tracker &tracker, const char *, const char *, enum type_code) |
void | collect_file_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode, symbol_name_match_type name_match_type, const char *, const char *, const char *) |
completion_list | make_source_files_completion_list (const char *, const char *) |
bool | symbol_is_function_or_method (symbol *sym) |
bool | symbol_is_function_or_method (minimal_symbol *msymbol) |
template<typename Symbol > | |
static bool | completion_skip_symbol (complete_symbol_mode mode, Symbol *sym) |
bool | matching_obj_sections (struct obj_section *, struct obj_section *) |
struct symtab * | find_line_symtab (struct symtab *, int, int *, bool *) |
symtab_and_line | find_function_start_sal (symbol *sym, bool funfirstline) |
symtab_and_line | find_function_start_sal (CORE_ADDR func_addr, obj_section *section, bool funfirstline) |
void | skip_prologue_sal (struct symtab_and_line *) |
CORE_ADDR | skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr) |
struct symbol * | fixup_symbol_section (struct symbol *, struct objfile *) |
symbol * | find_function_alias_target (bound_minimal_symbol msymbol) |
std::vector< module_symbol_search > | search_module_symbols (const char *module_regexp, const char *regexp, const char *type_regexp, search_domain kind) |
std::string | symbol_to_info_string (struct symbol *sym, int block, enum search_domain kind) |
bool | treg_matches_sym_type_name (const compiled_regex &treg, const struct symbol *sym) |
const char * | main_name () |
enum language | main_language (void) |
struct block_symbol | lookup_global_symbol_from_objfile (struct objfile *main_objfile, enum block_enum block_index, const char *name, const domain_enum domain) |
bool | producer_is_realview (const char *producer) |
void | fixup_section (struct general_symbol_info *ginfo, CORE_ADDR addr, struct objfile *objfile) |
static bool | symbol_lookup_debug_enabled () |
static bool | symbol_lookup_debug_enabled_v () |
bool | compare_filenames_for_search (const char *filename, const char *search_name) |
bool | compare_glob_filenames_for_search (const char *filename, const char *search_name) |
bool | iterate_over_some_symtabs (const char *name, const char *real_path, struct compunit_symtab *first, struct compunit_symtab *after_last, gdb::function_view< bool(symtab *)> callback) |
void | iterate_over_symtabs (const char *name, gdb::function_view< bool(symtab *)> callback) |
std::vector< CORE_ADDR > | find_pcs_for_symtab_line (struct symtab *symtab, int line, struct linetable_entry **best_entry) |
bool | iterate_over_symbols (const struct block *block, const lookup_name_info &name, const domain_enum domain, gdb::function_view< symbol_found_callback_ftype > callback) |
bool | iterate_over_symbols_terminated (const struct block *block, const lookup_name_info &name, const domain_enum domain, gdb::function_view< symbol_found_callback_ftype > callback) |
const char * | demangle_for_lookup (const char *name, enum language lang, demangle_result_storage &storage) |
bool | completion_list_add_name (completion_tracker &tracker, language symbol_language, const char *symname, const lookup_name_info &lookup_name, const char *text, const char *word) |
void | info_sources_worker (struct ui_out *uiout, bool group_by_objfile, const info_sources_filter &filter) |
Variables | |
gdb::array_view< const struct symbol_impl > | symbol_impls |
int | currently_reading_symtab |
const char | multiple_symbols_ask [] |
const char | multiple_symbols_all [] |
const char | multiple_symbols_cancel [] |
const struct gnu_ifunc_fns * | gnu_ifunc_fns_p |
unsigned int | symtab_create_debug |
unsigned int | symbol_lookup_debug |
bool | basenames_may_differ |
#define gnu_ifunc_resolve_addr gnu_ifunc_fns_p->gnu_ifunc_resolve_addr |
#define gnu_ifunc_resolve_name gnu_ifunc_fns_p->gnu_ifunc_resolve_name |
#define gnu_ifunc_resolver_return_stop gnu_ifunc_fns_p->gnu_ifunc_resolver_return_stop |
#define gnu_ifunc_resolver_stop gnu_ifunc_fns_p->gnu_ifunc_resolver_stop |
#define symbol_lookup_debug_printf | ( | fmt, | |
... | |||
) |
#define symbol_lookup_debug_printf_v | ( | fmt, | |
... | |||
) |
#define SYMBOL_LOOKUP_SCOPED_DEBUG_ENTER_EXIT scoped_debug_enter_exit (symbol_lookup_debug_enabled, "symbol-lookup") |
#define symtab_create_debug_printf | ( | fmt, | |
... | |||
) | debug_prefixed_printf_cond (symtab_create_debug >= 1, "symtab-create", fmt, ##__VA_ARGS__) |
#define symtab_create_debug_printf_v | ( | fmt, | |
... | |||
) | debug_prefixed_printf_cond (symtab_create_debug >= 2, "symtab-create", fmt, ##__VA_ARGS__) |
using compunit_symtab_range = next_range<compunit_symtab> |
typedef std::pair<symbol_search, symbol_search> module_symbol_search |
typedef std::vector<CORE_ADDR> section_offsets |
typedef bool() symbol_found_callback_ftype(struct block_symbol *bsym) |
typedef bool() symbol_name_matcher_ftype(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res) |
using symtab_range = next_range<symtab> |
enum address_class |
|
strong |
enum domain_enum |
enum minimal_symbol_type |
enum search_domain |
|
strong |
enum symbol_subclass_kind |
struct type * basic_lookup_transparent_type | ( | const char * | name | ) |
Definition at line 2739 of file symtab.c.
References basic_lookup_transparent_type_1(), basic_lookup_transparent_type_quick(), current_program_space, GLOBAL_BLOCK, name, program_space::objfiles(), and STATIC_BLOCK.
Referenced by cp_lookup_transparent_type(), cp_lookup_transparent_type_loop(), and language_defn::lookup_transparent_type().
void clear_pc_function_cache | ( | void | ) |
Definition at line 201 of file blockframe.c.
References cache_pc_function_block, cache_pc_function_high, cache_pc_function_low, cache_pc_function_section, and cache_pc_function_sym.
Referenced by clear_symtab_users(), and objfile::~objfile().
void clear_solib | ( | void | ) |
Definition at line 1220 of file solib.c.
References target_so_ops::clear_solib, current_program_space, disable_breakpoints_in_shlibs(), free_so(), gdbarch_so_ops(), so_list::next, program_space::remove_target_sections(), program_space::so_list, gdb::observers::solib_unloaded, and target_gdbarch().
Referenced by core_target::clear_core(), and no_shared_libraries().
void collect_file_symbol_completion_matches | ( | completion_tracker & | tracker, |
complete_symbol_mode | mode, | ||
symbol_name_match_type | name_match_type, | ||
const char * | text, | ||
const char * | word, | ||
const char * | srcfile | ||
) |
Definition at line 5975 of file symtab.c.
References add_symtab_completions(), symtab::compunit(), iterate_over_symtabs(), language_search_unquoted_string(), LINESPEC, and TYPE_CODE_UNDEF.
Referenced by complete_files_symbols(), and linespec_complete_function().
void collect_symbol_completion_matches | ( | completion_tracker & | tracker, |
complete_symbol_mode | mode, | ||
symbol_name_match_type | name_match_type, | ||
const char * | text, | ||
const char * | word | ||
) |
Definition at line 5941 of file symtab.c.
References language_defn::collect_symbol_completion_matches(), current_language, and TYPE_CODE_UNDEF.
Referenced by complete_files_symbols(), frame_selection_by_function_completer(), linespec_complete_function(), and symbol_completer().
void collect_symbol_completion_matches_type | ( | completion_tracker & | tracker, |
const char * | text, | ||
const char * | word, | ||
enum | type_code | ||
) |
Definition at line 5956 of file symtab.c.
References code, language_defn::collect_symbol_completion_matches(), current_language, and EXPRESSION.
Referenced by expr_complete_tag::complete().
bool compare_filenames_for_search | ( | const char * | filename, |
const char * | search_name | ||
) |
Definition at line 461 of file symtab.c.
References symtab::filename.
Referenced by skiplist_entry::do_skip_file_p(), file_matches(), gdbpy_lookup_objfile(), iterate_over_some_symtabs(), maintenance_print_msymbols(), maintenance_print_psymbols(), maintenance_print_symbols(), and objfile::map_symtabs_matching_filename().
bool compare_glob_filenames_for_search | ( | const char * | filename, |
const char * | search_name | ||
) |
Definition at line 499 of file symtab.c.
References count_path_elements(), symtab::filename, gdb_filename_fnmatch(), and strip_leading_path_elements().
Referenced by skiplist_entry::do_skip_gfile_p().
bool completion_list_add_name | ( | completion_tracker & | tracker, |
language | symbol_language, | ||
const char * | symname, | ||
const lookup_name_info & | lookup_name, | ||
const char * | text, | ||
const char * | word | ||
) |
Definition at line 5397 of file symtab.c.
References completion_tracker::add_completion(), compare_symbol_name(), make_completion_match_str(), completion_match::match(), completion_match_result::match, completion_match_result::match_for_lcd, and completion_tracker::reset_completion_match_result().
Referenced by ada_language::collect_symbol_completion_matches(), completion_list_add_fields(), completion_list_add_msymbol(), completion_list_add_symbol(), completion_list_objc_symbol(), and default_collect_symbol_completion_matches_break_on().
|
static |
Definition at line 2366 of file symtab.h.
References LINESPEC, and symbol_is_function_or_method().
Referenced by add_symtab_completions(), ada_language::collect_symbol_completion_matches(), and default_collect_symbol_completion_matches_break_on().
void default_collect_symbol_completion_matches_break_on | ( | completion_tracker & | tracker, |
complete_symbol_mode | mode, | ||
symbol_name_match_type | name_match_type, | ||
const char * | text, | ||
const char * | word, | ||
const char * | break_on, | ||
enum type_code | code | ||
) |
Definition at line 5731 of file symtab.c.
References add_symtab_completions(), ALL_BLOCK_SYMBOLS, ALL_DOMAIN, block_global_block(), block_inlined_p(), block_static_block(), code, type::code(), completion_list_add_fields(), completion_list_add_msymbol(), completion_list_add_name(), completion_list_add_symbol(), completion_list_objc_symbol(), completion_skip_symbol(), objfile::compunits(), current_language, current_program_space, default_macro_scope(), symbol::domain(), expand_symtabs_matching(), block::function(), get_selected_block(), language_c, LINESPEC, language_defn::macro_expansion(), macro_expansion_c, macro_for_each(), macro_for_each_in_scope(), macro_user_macros, objfile::msymbols(), program_space::objfiles(), QUIT, SEARCH_GLOBAL_BLOCK, SEARCH_STATIC_BLOCK, STRUCT_DOMAIN, block::superblock(), symbol::type(), and TYPE_CODE_UNDEF.
Referenced by language_defn::collect_symbol_completion_matches(), and f_language::collect_symbol_completion_matches().
const char * demangle_for_lookup | ( | const char * | name, |
enum language | lang, | ||
demangle_result_storage & | storage | ||
) |
Definition at line 1893 of file symtab.c.
References cp_canonicalize_string(), d_demangle(), language_defn::demangle_symbol(), general_symbol_info::demangled_name, gdb_demangle(), language_cplus, language_d, language_def(), language_go, name, and demangle_result_storage::set_malloc_ptr().
Referenced by demangle_for_lookup_info::demangle_for_lookup_info(), lookup_symbol_in_language(), and lookup_symbol_in_objfile_from_linkage_name().
const char * domain_name | ( | domain_enum | e | ) |
Definition at line 306 of file symtab.c.
References COMMON_BLOCK_DOMAIN, LABEL_DOMAIN, MODULE_DOMAIN, STRUCT_DOMAIN, UNDEF_DOMAIN, and VAR_DOMAIN.
Referenced by cp_lookup_nested_symbol(), cp_lookup_symbol_imports_or_template(), cp_lookup_symbol_namespace(), cp_lookup_symbol_nonlocal(), objfile::expand_matching_symbols(), objfile::lookup_symbol(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_objfile(), lookup_symbol_in_objfile_symtabs(), lookup_symbol_in_static_block(), rust_language::lookup_symbol_nonlocal(), lookup_symbol_via_quick_fns(), symbol_cache_dump(), and symbol_cache_lookup().
void expand_symtab_containing_pc | ( | CORE_ADDR | pc, |
struct obj_section * | section | ||
) |
Definition at line 1176 of file symtab.c.
References current_program_space, minimal_symbol::data_p(), objfile::find_pc_sect_compunit_symtab(), lookup_minimal_symbol_by_pc_section(), bound_minimal_symbol::minsym, and program_space::objfiles().
symbol * find_function_alias_target | ( | bound_minimal_symbol | msymbol | ) |
Definition at line 4055 of file symtab.c.
References symbol::aclass(), block::entry_pc(), find_pc_function(), LOC_BLOCK, symtab_and_line::msymbol, msymbol_is_function(), and symbol::value_block().
Referenced by yyparse().
bool find_function_entry_range_from_pc | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr | ||
) |
Definition at line 387 of file blockframe.c.
References block::entry_pc(), find_pc_partial_function(), block::is_contiguous(), name, block::ranges(), and status.
symtab_and_line find_function_start_sal | ( | CORE_ADDR | func_addr, |
obj_section * | section, | ||
bool | funfirstline | ||
) |
Definition at line 3640 of file symtab.c.
References find_function_start_sal_1(), find_pc_sect_containing_function(), symtab_and_line::pc, symtab_and_line::section, and symtab_and_line::symbol.
Referenced by elf_gnu_ifunc_resolver_return_stop(), minsym_found(), select_source_symtab(), symbol_to_sal(), and user_select_syms().
symtab_and_line find_function_start_sal | ( | symbol * | sym, |
bool | funfirstline | ||
) |
Definition at line 3657 of file symtab.c.
References block::entry_pc(), find_function_start_sal_1(), fixup_symbol_section(), general_symbol_info::obj_section(), symbol::objfile(), symtab_and_line::symbol, and symbol::value_block().
Referenced by ada_exception_sal().
struct type * find_function_type | ( | CORE_ADDR | pc | ) |
Definition at line 422 of file blockframe.c.
References block::entry_pc(), find_pc_function(), symbol::type(), and symbol::value_block().
Referenced by find_function_addr(), and find_gnu_ifunc_target_type().
bound_minimal_symbol find_gnu_ifunc | ( | const symbol * | sym | ) |
Definition at line 5654 of file symtab.c.
References symbol::aclass(), block::entry_pc(), if(), iterate_over_minimal_symbols(), LOC_BLOCK, mst_data_gnu_ifunc, mst_text_gnu_ifunc, symbol::objfile(), SEARCH_NAME, general_symbol_info::search_name(), minimal_symbol::type(), and symbol::value_block().
Referenced by yyparse().
struct type * find_gnu_ifunc_target_type | ( | CORE_ADDR | resolver_funaddr | ) |
Definition at line 435 of file blockframe.c.
References check_typedef(), code, type::code(), find_function_type(), and type::target_type().
Referenced by evaluate_subexp_do_call(), and find_function_addr().
bool find_line_pc | ( | struct symtab * | symtab, |
int | line, | ||
CORE_ADDR * | pc | ||
) |
Definition at line 3473 of file symtab.c.
References find_line_symtab(), linetable::item, symtab::linetable(), and linetable_entry::pc.
Referenced by tui_source_window::display_start_addr(), tui_source_window::do_scroll_vertical(), find_line_pc_range(), mi_cmd_disassemble(), tui_source_window_base::rerender(), resolve_sal_pc(), tui_get_begin_asm_address(), tui_update_source_windows_with_line(), and update_static_tracepoint().
bool find_line_pc_range | ( | struct symtab_and_line | sal, |
CORE_ADDR * | startptr, | ||
CORE_ADDR * | endptr | ||
) |
Definition at line 3500 of file symtab.c.
References symtab_and_line::end, find_line_pc(), find_pc_sect_line(), symtab_and_line::line, symtab_and_line::pc, symtab_and_line::section, and symtab_and_line::symtab.
Referenced by find_breakpoint_range_end(), info_line_command(), mi_cmd_trace_find(), and tfind_line_command().
struct symtab * find_line_symtab | ( | struct symtab * | sym_tab, |
int | line, | ||
int * | index, | ||
bool * | exact_match | ||
) |
Definition at line 3340 of file symtab.c.
References objfile::compunits(), current_program_space, objfile::expand_symtabs_with_fullname(), symtab::filename, find_line_common(), linetable::item, linetable_entry::line, symtab::linetable(), program_space::objfiles(), and symtab_to_fullname().
Referenced by decode_digits_list_mode(), and find_line_pc().
struct compunit_symtab * find_pc_compunit_symtab | ( | CORE_ADDR | pc | ) |
Definition at line 2954 of file symtab.c.
References find_pc_mapped_section(), and find_pc_sect_compunit_symtab().
Referenced by global_symbol_searcher::add_matching_msymbols(), amd64_skip_prologue(), amd64_stack_frame_destroyed_p(), arm_skip_prologue(), call_site_for_pc(), dwarf2_frame_find_quirks(), global_symbol_searcher::expand_symtabs(), gdbscm_lookup_block(), get_frame_language(), get_selected_pc_producer_options(), handle_step_into_function(), handle_step_into_function_backward(), i386_skip_prologue(), i386_stack_frame_destroyed_p(), pspy_block_for_pc(), and select_frame().
struct symbol * find_pc_function | ( | CORE_ADDR | pc | ) |
Definition at line 150 of file blockframe.c.
References find_pc_mapped_section(), and find_pc_sect_function().
Referenced by bpfinishpy_init(), edit_command(), eval_op_objc_msgcall(), find_function_alias_target(), find_function_type(), finish_command(), frv_fdpic_find_canonical_descriptor(), ftrace_update_function(), func_addr_to_tail_call_list(), gdbscm_frame_function(), get_function_name(), jump_command(), list_command(), print_stop_location(), process_event_stop_test(), set_step_frame(), set_traceframe_context(), sparc32_dwarf2_struct_return_p(), sparc32_frame_cache(), and until_next_command().
struct symtab_and_line find_pc_line | ( | CORE_ADDR | pc, |
int | notcurrent | ||
) |
Definition at line 3297 of file symtab.c.
References symtab_and_line::end, find_pc_overlay(), find_pc_sect_line(), overlay_mapped_address(), overlay_unmapped_address(), symtab_and_line::pc, pc_in_unmapped_range(), and symtab_and_line::section.
Referenced by aarch64_scan_prologue(), after_prologue(), arc_make_frame_cache(), arm_linux_copy_svc(), BP_MANIPULATION(), btrace_compute_src_line_range(), c_parse(), call0_analyze_prologue(), convert_address_location_to_sals(), cris_skip_prologue(), decode_static_tracepoint_spec(), default_macro_scope(), do_mixed_source_and_assembly(), do_mixed_source_and_assembly_deprecated(), find_frame_sal(), find_last_line_symbol(), find_pc_line_pc_range(), find_pc_line_symtab(), find_pc_sect_line(), finish_backward(), finish_forward(), frv_skip_prologue(), ft32_skip_prologue(), gdbscm_find_pc_line(), h8300_skip_prologue(), handle_step_into_function(), handle_step_into_function_backward(), info_checkpoints_command(), insert_single_step_breakpoint(), iq2000_skip_prologue(), m32r_skip_prologue(), m68hc11_skip_prologue(), microblaze_skip_prologue(), moxie_skip_prologue(), or1k_skip_prologue(), parse_breakpoint_sals(), print_one_static_tracepoint_marker(), process_event_stop_test(), pspy_find_pc_line(), recpy_bt_insn_sal(), tui_source_window_base::refill(), refine_prologue_limit(), save_bookmark_command(), set_momentary_breakpoint_at_pc(), set_traceframe_context(), skip_prologue(), skip_prologue_using_linetable(), skip_prologue_using_sal(), sparc64_skip_prologue(), tfind_line_command(), tui_update_source_windows_with_addr(), until_break_command(), until_next_command(), update_static_tracepoint(), v850_skip_prologue(), write_macro_definitions(), xstormy16_skip_prologue(), xtensa_skip_prologue(), and z80_skip_prologue().
bool find_pc_line_pc_range | ( | CORE_ADDR | pc, |
CORE_ADDR * | startptr, | ||
CORE_ADDR * | endptr | ||
) |
Definition at line 3588 of file symtab.c.
References symtab_and_line::end, find_pc_line(), symtab_and_line::pc, and symtab_and_line::symtab.
Referenced by prepare_one_step().
struct symtab * find_pc_line_symtab | ( | CORE_ADDR | pc | ) |
Definition at line 3319 of file symtab.c.
References find_pc_line(), symtab_and_line::pc, and symtab_and_line::symtab.
Referenced by btrace_find_line_range(), tui_source_window::do_scroll_vertical(), gdb_disassembly(), maintenance_print_symbols(), tui_source_window_base::rerender(), and tui_display_main().
bool find_pc_partial_function | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr, | ||
const struct block ** | block = nullptr |
||
) |
Definition at line 373 of file blockframe.c.
References find_pc_partial_function_sym(), general_symbol_info::linkage_name(), and name.
Referenced by aarch64_scan_prologue(), aarch64_skip_prologue(), aarch64_stack_frame_destroyed_p(), after_prologue(), alpha_sigtramp_frame_sniffer(), amd64_linux_sigtramp_p(), amd64_skip_prologue(), amd64_windows_skip_prologue(), amd64nbsd_sigtramp_p(), amd64obsd_sigtramp_p(), amd64obsd_trapframe_cache(), amd64obsd_trapframe_sniffer(), arc_make_frame_cache(), arc_skip_prologue(), arm_adjust_breakpoint_address(), arm_exidx_unwind_sniffer(), arm_scan_prologue(), arm_skip_prologue(), arm_skip_stub(), arm_stack_frame_destroyed_p_1(), arm_stub_unwind_sniffer(), avr_skip_prologue(), BP_MANIPULATION(), call0_analyze_prologue(), call0_frame_cache(), cris_skip_prologue(), csky_frame_unwind_cache(), csky_skip_prologue(), csky_stack_frame_destroyed_p(), csky_stub_unwind_sniffer(), disassemble_current_function(), elf_gnu_ifunc_resolve_addr(), find_frame_for_function(), find_func_descr(), find_function_entry_range_from_pc(), find_proc_desc(), finish_backward(), frv_linux_sigtramp_frame_sniffer(), frv_skip_prologue(), ft32_skip_prologue(), h8300_skip_prologue(), windows_per_inferior::handle_access_violation(), i386_gnu_sigtramp_p(), i386_in_stack_tramp_p(), i386_linux_dwarf_signal_frame_p(), i386_linux_sigtramp_p(), i386_sigtramp_p(), i386_skip_prologue(), i386_svr4_sigtramp_p(), i386nto_sigtramp_p(), i386obsd_sigtramp_p(), i386obsd_trapframe_cache(), i386obsd_trapframe_sniffer(), iq2000_frame_cache(), iq2000_skip_prologue(), lm32_skip_prologue(), loongarch_skip_prologue(), m32c_skip_prologue(), m32c_skip_trampoline_code(), m32c_virtual_frame_pointer(), m32r_linux_sigtramp_frame_sniffer(), m32r_skip_prologue(), m68hc11_skip_prologue(), tui_disasm_window::maybe_update(), mep_skip_prologue(), mi_cmd_disassemble(), microblaze_analyze_prologue(), microblaze_skip_prologue(), micromips_stack_frame_destroyed_p(), mips16_stack_frame_destroyed_p(), mips32_stack_frame_destroyed_p(), mips_adjust_breakpoint_address(), mips_in_frame_stub(), mips_in_return_stub(), mips_insn16_frame_cache(), mips_insn32_frame_cache(), mips_micro_frame_cache(), mips_sde_frame_cache(), mips_sde_frame_sniffer(), mips_skip_mips16_trampoline_code(), mips_skip_prologue(), mips_stub_frame_cache(), mn10300_skip_prologue(), moxie_skip_prologue(), msp430_skip_prologue(), nds32_skip_prologue(), nios2_skip_prologue(), nios2_stack_frame_destroyed_p(), nios2_stub_frame_cache(), or1k_frame_cache(), or1k_skip_prologue(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_sniffer(), prepare_one_step(), refine_prologue_limit(), riscv_skip_prologue(), rl78_skip_prologue(), rs6000_in_function_epilogue_frame_p(), rs6000_skip_prologue(), rx_frame_type(), rx_skip_prologue(), s12z_frame_cache(), s12z_skip_prologue(), s390_skip_prologue(), set_breakpoint_location_function(), sh_skip_prologue(), sh_stack_frame_destroyed_p(), skip_prologue_using_lineinfo(), skip_prologue_using_linetable(), skip_prologue_using_sal(), sol2_sigtramp_p(), sparc32_skip_prologue(), sparc32nbsd_sigcontext_frame_sniffer(), sparc32obsd_sigtramp_frame_sniffer(), sparc64_skip_prologue(), sparc64fbsd_sigtramp_frame_sniffer(), sparc64nbsd_sigtramp_frame_sniffer(), sparc64obsd_sigtramp_frame_sniffer(), sparc64obsd_trapframe_sniffer(), thumb_scan_prologue(), thumb_stack_frame_destroyed_p(), tic6x_skip_prologue(), tilegx_skip_prologue(), tilegx_stack_frame_destroyed_p(), v850_skip_prologue(), xstormy16_skip_prologue(), xstormy16_stack_frame_destroyed_p(), xtensa_scan_prologue(), xtensa_skip_prologue(), and z80_skip_prologue().
bool find_pc_partial_function_sym | ( | CORE_ADDR | pc, |
const general_symbol_info ** | sym, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr, | ||
const struct block ** | block = nullptr |
||
) |
struct compunit_symtab * find_pc_sect_compunit_symtab | ( | CORE_ADDR | pc, |
struct obj_section * | section | ||
) |
Definition at line 2829 of file symtab.c.
References ALL_BLOCK_SYMBOLS, blockvector::block(), current_program_space, minimal_symbol::data_p(), block::end(), addrmap::find(), fixup_symbol_section(), blockvector::global_block(), GLOBAL_BLOCK, lookup_minimal_symbol_by_pc_section(), blockvector::map(), matching_obj_sections(), bound_minimal_symbol::minsym, general_symbol_info::obj_section(), OBJF_REORDERED, program_space::objfiles(), block::start(), and STATIC_BLOCK.
Referenced by blockvector_for_pc_sect(), find_pc_compunit_symtab(), find_pc_partial_function_sym(), and find_pc_sect_line().
struct symbol * find_pc_sect_containing_function | ( | CORE_ADDR | pc, |
struct obj_section * | section | ||
) |
Definition at line 158 of file blockframe.c.
References block_containing_function(), and block_for_pc_sect().
Referenced by convert_address_location_to_sals(), and find_function_start_sal().
struct symbol * find_pc_sect_function | ( | CORE_ADDR | pc, |
struct obj_section * | section | ||
) |
Definition at line 136 of file blockframe.c.
References block_for_pc_sect(), and block_linkage_function().
Referenced by build_address_symbolic(), find_pc_function(), find_pc_partial_function_sym(), print_one_static_tracepoint_marker(), skip_prologue_sal(), and update_static_tracepoint().
struct symtab_and_line find_pc_sect_line | ( | CORE_ADDR | pc, |
struct obj_section * | section, | ||
int | notcurrent | ||
) |
Definition at line 3033 of file symtab.c.
References compunit_symtab::blockvector(), current_program_space, block::end(), symtab_and_line::end, compunit_symtab::filetabs(), find_pc_line(), find_pc_sect_compunit_symtab(), blockvector::global_block(), linetable_entry::is_stmt, symtab_and_line::is_stmt, linetable::item, linetable_entry::line, symtab_and_line::line, general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), lookup_minimal_symbol_text(), bound_minimal_symbol::minsym, mst_solib_trampoline, linetable::nitems, linetable_entry::pc, symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, symtab_and_line::symtab, minimal_symbol::type(), and bound_minimal_symbol::value_address().
Referenced by add_minsym(), amd64_skip_xmm_prologue(), build_address_symbolic(), find_function_start_sal_1(), find_instruction_backward(), find_line_pc_range(), find_pc_line(), and skip_prologue_sal().
std::vector< CORE_ADDR > find_pcs_for_symtab_line | ( | struct symtab * | symtab, |
int | line, | ||
struct linetable_entry ** | best_entry | ||
) |
Definition at line 3432 of file symtab.c.
References find_line_common(), linetable_entry::is_stmt, linetable::item, linetable_entry::line, symtab::linetable(), and linetable_entry::pc.
Referenced by decode_digits_ordinary(), and ltpy_get_pcs_for_line().
CORE_ADDR find_solib_trampoline_target | ( | frame_info_ptr | frame, |
CORE_ADDR | pc | ||
) |
Definition at line 1534 of file minsyms.c.
References current_program_space, func, general_symbol_info::linkage_name(), lookup_solib_trampoline_symbol_by_pc(), mst_data, mst_data_gnu_ifunc, mst_text, mst_text_gnu_ifunc, msymbol_is_function(), objfile::msymbols(), and program_space::objfiles().
Referenced by aarch64_linux_init_abi(), alpha_gdbarch_init(), alpha_linux_init_abi(), amd64_linux_init_abi_common(), arc_linux_init_osabi(), arm_linux_skip_trampoline_code(), csky_linux_init_abi(), i386_linux_init_abi(), i386_svr4_init_abi(), ia64_linux_init_abi(), loongarch_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), mips_skip_trampoline_code(), nbsd_skip_solib_resolver(), nios2_linux_init_abi(), obsd_skip_solib_resolver(), or1k_linux_init_abi(), ppc64_skip_trampoline_code_1(), ppcfbsd_init_abi(), riscv_linux_init_abi(), rs6000_skip_trampoline_code(), s390_linux_init_abi_any(), sh_linux_init_abi(), sparc32_linux_init_abi(), sparc32_sol2_init_abi(), sparc64_linux_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), and tilegx_linux_init_abi().
struct symbol * find_symbol_at_address | ( | CORE_ADDR | address | ) |
Definition at line 2962 of file symtab.c.
References symbol::aclass(), general_symbol_info::address, ALL_BLOCK_SYMBOLS, blockvector::block(), objfile::compunits(), current_program_space, objfile::find_compunit_symtab_by_address(), objfile::flags, GLOBAL_BLOCK, LOC_STATIC, OBJF_READNOW, program_space::objfiles(), STATIC_BLOCK, symbol::symtab, and symbol::value_address().
Referenced by rust_get_trait_object_pointer().
void fixup_section | ( | struct general_symbol_info * | ginfo, |
CORE_ADDR | addr, | ||
struct objfile * | objfile | ||
) |
Definition at line 1708 of file symtab.c.
References obj_section::addr(), ALL_OBJFILE_OSECTIONS, obj_section::endaddr(), general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc_name(), obj_section::offset(), general_symbol_info::section_index(), objfile::section_offsets, objfile::sections, and general_symbol_info::set_section_index().
Referenced by fixup_symbol_section().
Definition at line 1788 of file symtab.c.
References symbol::aclass(), block::entry_pc(), fixup_section(), symbol::is_objfile_owned(), LOC_BLOCK, LOC_LABEL, LOC_STATIC, general_symbol_info::obj_section(), symbol::objfile(), symbol::symtab, symbol::value_address(), and symbol::value_block().
Referenced by ada_add_block_symbols(), ada_lookup_symbol(), find_function_start_sal(), find_pc_sect_compunit_symtab(), jump_command(), lookup_symbol_in_block(), lookup_symbol_in_objfile_symtabs(), lookup_symbol_via_quick_fns(), match_data::operator()(), relocate_one_symbol(), resolve_sal_pc(), skip_prologue_sal(), and var_decode_location().
gdb_static_assert | ( | LOC_FINAL_VALUE<= | 1<< SYMBOL_ACLASS_BITS | ) |
gdb_static_assert | ( | NR_DOMAINS<= | 1<< SYMBOL_DOMAIN_BITS | ) |
gdb_static_assert | ( | nr_minsym_types<= | 1<< MINSYM_TYPE_BITS | ) |
CORE_ADDR get_msymbol_address | ( | struct objfile * | objf, |
const struct minimal_symbol * | minsym | ||
) |
Definition at line 6537 of file symtab.c.
References general_symbol_info::address, current_program_space, objfile::flags, general_symbol_info::linkage_name(), lookup_minimal_symbol_linkage(), general_symbol_info::m_value, minimal_symbol::maybe_copied, bound_minimal_symbol::minsym, OBJF_MAINLINE, program_space::objfiles(), general_symbol_info::section_index(), objfile::section_offsets, objfile::separate_debug_objfile_backlink, and bound_minimal_symbol::value_address().
Referenced by minimal_symbol::value_address().
CORE_ADDR get_symbol_address | ( | const struct symbol * | sym | ) |
Definition at line 6514 of file symtab.c.
References symbol::aclass(), general_symbol_info::address, current_program_space, general_symbol_info::linkage_name(), LOC_STATIC, lookup_minimal_symbol_linkage(), general_symbol_info::m_value, symbol::maybe_copied, bound_minimal_symbol::minsym, program_space::objfiles(), objfile::separate_debug_objfile_backlink, and bound_minimal_symbol::value_address().
Referenced by symbol::value_address().
bool in_gnu_ifunc_stub | ( | CORE_ADDR | pc | ) |
Definition at line 985 of file minsyms.c.
References GNU_IFUNC, lookup_minimal_symbol_by_pc_section(), bound_minimal_symbol::minsym, mst_text_gnu_ifunc, and minimal_symbol::type().
Referenced by svr4_in_dynsym_resolve_code().
void info_sources_worker | ( | struct ui_out * | uiout, |
bool | group_by_objfile, | ||
const info_sources_filter & | filter | ||
) |
Definition at line 4435 of file symtab.c.
References objfile::compunits(), current_program_space, current_uiout, ui_out::field_string(), file_name_style, objfile::has_unexpanded_symtabs(), ui_out::is_mi_like_p(), objfile::map_symbol_filenames(), map_symbol_filenames(), objfile_has_symbols(), objfile_name(), program_space::objfiles(), cli_style_option::style(), symtab_to_filename_for_display(), symtab_to_fullname(), and ui_out::text().
Referenced by info_sources_command(), and mi_cmd_file_list_exec_source_files().
|
inlinestatic |
Definition at line 1929 of file symtab.h.
References symtab::compunit(), and compunit_symtab::primary_filetab().
Referenced by dump_symtab_1().
bool iterate_over_some_symtabs | ( | const char * | name, |
const char * | real_path, | ||
struct compunit_symtab * | first, | ||
struct compunit_symtab * | after_last, | ||
gdb::function_view< bool(symtab *)> | callback | ||
) |
Definition at line 542 of file symtab.c.
References basenames_may_differ, compare_filenames_for_search(), compunit_symtab::filetabs(), name, compunit_symtab::next, and symtab_to_fullname().
Referenced by iterate_over_symtabs(), and objfile::map_symtabs_matching_filename().
bool iterate_over_symbols | ( | const struct block * | block, |
const lookup_name_info & | name, | ||
const domain_enum | domain, | ||
gdb::function_view< symbol_found_callback_ftype > | callback | ||
) |
Definition at line 2789 of file symtab.c.
References ALL_BLOCK_SYMBOLS_WITH_NAME, symbol::domain(), general_symbol_info::language(), name, and symbol_matches_domain().
Referenced by iterate_over_symbols_terminated().
bool iterate_over_symbols_terminated | ( | const struct block * | block, |
const lookup_name_info & | name, | ||
const domain_enum | domain, | ||
gdb::function_view< symbol_found_callback_ftype > | callback | ||
) |
Definition at line 2813 of file symtab.c.
References iterate_over_symbols(), and name.
Referenced by map_matching_symbols().
void iterate_over_symtabs | ( | const char * | name, |
gdb::function_view< bool(symtab *)> | callback | ||
) |
Definition at line 607 of file symtab.c.
References objfile::compunit_symtabs, current_program_space, iterate_over_some_symtabs(), objfile::map_symtabs_matching_filename(), name, and program_space::objfiles().
Referenced by collect_file_symbol_completion_matches(), collect_symtabs_from_filename(), and lookup_symtab().
Definition at line 1788 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, STRUCT_DOMAIN, block_symbol::symbol, and symbol::type().
Referenced by typy_lookup_typename(), tyscm_lookup_typename(), and yyparse().
struct block_symbol lookup_global_symbol | ( | const char * | name, |
const struct block * | block, | ||
const domain_enum | domain | ||
) |
Definition at line 2614 of file symtab.c.
References best_symbol(), better_symbol(), block_global_block(), block_objfile(), FULL, GLOBAL_BLOCK, lookup_global_or_static_symbol(), lookup_symbol_in_block(), name, objfile::separate_debug_objfile_backlink, and block_symbol::symbol.
Referenced by cp_basic_lookup_symbol(), cp_lookup_bare_symbol(), cp_search_static_and_baseclasses(), d_lookup_symbol(), gdbpy_lookup_global_symbol(), gdbscm_lookup_global_symbol(), language_defn::lookup_symbol_nonlocal(), and rust_language::lookup_symbol_nonlocal().
struct block_symbol lookup_global_symbol_from_objfile | ( | struct objfile * | main_objfile, |
enum block_enum | block_index, | ||
const char * | name, | ||
const domain_enum | domain | ||
) |
Definition at line 2253 of file symtab.c.
References GLOBAL_BLOCK, lookup_symbol_in_objfile(), name, STATIC_BLOCK, and block_symbol::symbol.
Referenced by compile_object_load(), objfpy_lookup_global_symbol(), and objfpy_lookup_static_symbol().
struct block_symbol lookup_language_this | ( | const struct language_defn * | lang, |
const struct block * | block | ||
) |
Definition at line 1989 of file symtab.c.
References block_lookup_symbol(), block_objfile(), block::function(), objfile_debug_name(), general_symbol_info::print_name(), SEARCH_NAME, block::superblock(), symbol_lookup_debug_printf_v, and VAR_DOMAIN.
Referenced by cp_lookup_bare_symbol(), d_lookup_symbol(), expr::op_this_operation::do_generate_ax(), lookup_symbol_aux(), and value_of_this().
struct block_symbol lookup_static_symbol | ( | const char * | name, |
const domain_enum | domain | ||
) |
Definition at line 2606 of file symtab.c.
References lookup_global_or_static_symbol(), name, and STATIC_BLOCK.
Referenced by cp_lookup_nested_symbol_1(), d_lookup_nested_symbol(), find_symbol_in_baseclass(), gdbpy_lookup_static_symbol(), and lookup_symbol_aux().
Definition at line 1742 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, STRUCT_DOMAIN, block_symbol::symbol, and symbol::type().
Referenced by typy_lookup_typename(), tyscm_lookup_typename(), and yyparse().
struct block_symbol lookup_symbol | ( | const char * | name, |
const struct block * | block, | ||
const | domain_enum, | ||
struct field_of_this_result * | is_a_field_of_this | ||
) |
Definition at line 1967 of file symtab.c.
References current_language, language_defn::la_language, lookup_symbol_in_language(), and name.
Referenced by language_arch_info::bool_type(), check_typedef(), classify_name(), classify_packaged_name(), compile_cplus_convert_struct_or_union_members(), compile_cplus_convert_struct_or_union_methods(), compute_var_value(), convert_symbol_sym(), cp_lookup_rtti_type(), cp_search_static_and_baseclasses(), eval_op_func_static_var(), expr::rust_structop::evaluate_funcall(), find_function_in_inferior(), find_imps(), find_label_symbols_in_block(), find_proc_desc(), frapy_read_var(), ft32_skip_prologue(), gcc_convert_symbol(), gcc_cplus_convert_symbol(), gcc_cplus_symbol_address(), gcc_symbol_address(), gdbpy_lookup_symbol(), gdbscm_frame_read_var(), gdbscm_lookup_symbol(), gen_static_field(), gnuv3_get_typeid_type(), info_address_command(), inside_main_func(), inspect_type(), lex_one_token(), lookup_enum(), lookup_struct(), lookup_struct_typedef(), rust_parser::lookup_symbol(), lookup_template_type(), lookup_union(), moxie_skip_prologue(), compile_cplus_instance::new_scope(), package_name_p(), parse_procedure(), parser_state::push_dollar(), replace_typedefs(), select_source_symtab(), type_name_to_scope(), value_fn_field(), f_language::value_print_inner(), value_static_field(), value_struct_elt_for_reference(), xstormy16_skip_prologue(), yylex(), and yyparse().
struct symbol * lookup_symbol_in_block | ( | const char * | name, |
symbol_name_match_type | match_type, | ||
const struct block * | block, | ||
const domain_enum | domain | ||
) |
Definition at line 2220 of file symtab.c.
References block_lookup_symbol(), block_objfile(), domain_name(), fixup_symbol_section(), name, objfile_debug_name(), symbol_lookup_debug, and symbol_lookup_debug_printf_v.
Referenced by cp_basic_lookup_symbol(), lookup_global_symbol(), lookup_local_symbol(), and lookup_symbol_in_static_block().
struct block_symbol lookup_symbol_in_language | ( | const char * | name, |
const struct block * | block, | ||
const | domain_enum, | ||
enum | language, | ||
struct field_of_this_result * | is_a_field_of_this | ||
) |
Definition at line 1949 of file symtab.c.
References demangle_for_lookup(), FULL, lookup_symbol_aux(), name, and SYMBOL_LOOKUP_SCOPED_DEBUG_ENTER_EXIT.
Referenced by ada_get_tcb_types_info(), ada_tasks_inferior_data_sniffer(), fbsd_fetch_rtld_offsets(), lookup_symbol(), lookup_typename(), and set_initial_language().
struct block_symbol lookup_symbol_in_static_block | ( | const char * | name, |
const struct block * | block, | ||
const domain_enum | domain | ||
) |
Definition at line 2483 of file symtab.c.
References block_objfile(), block_static_block(), domain_name(), FULL, lookup_symbol_in_block(), name, objfile_debug_name(), symbol_lookup_debug, and symbol_lookup_debug_printf.
Referenced by cp_basic_lookup_symbol(), cp_lookup_bare_symbol(), cp_lookup_nested_symbol_1(), cp_search_static_and_baseclasses(), d_lookup_symbol(), find_symbol_in_baseclass(), gdbpy_lookup_static_symbol(), gdbpy_lookup_static_symbols(), language_defn::lookup_symbol_nonlocal(), and rust_language::lookup_symbol_nonlocal().
struct block_symbol lookup_symbol_search_name | ( | const char * | search_name, |
const struct block * | block, | ||
domain_enum | domain | ||
) |
Definition at line 1979 of file symtab.c.
References language_asm, lookup_symbol_aux(), and SEARCH_NAME.
Referenced by insert_exception_resume_breakpoint(), iterate_over_block_arg_vars(), list_args_or_locals(), print_frame_args(), print_unpacked_pointer(), and pascal_language::value_print_inner().
struct symtab * lookup_symtab | ( | const char * | name | ) |
Definition at line 643 of file symtab.c.
References iterate_over_symtabs(), and name.
Referenced by block_lookup(), classify_name(), mi_cmd_disassemble(), mi_cmd_symbol_list_lines(), yylex(), and yyparse().
struct type * lookup_transparent_type | ( | const char * | name | ) |
Definition at line 2671 of file symtab.c.
References current_language, language_defn::lookup_transparent_type(), and name.
Referenced by check_typedef().
Definition at line 1764 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, STRUCT_DOMAIN, block_symbol::symbol, and symbol::type().
Referenced by typy_lookup_typename(), tyscm_lookup_typename(), and yyparse().
enum language main_language | ( | void | ) |
Definition at line 6323 of file symtab.c.
References find_main_name(), and get_main_info().
Referenced by set_initial_language().
const char * main_name | ( | ) |
Definition at line 6309 of file symtab.c.
References find_main_name(), and get_main_info().
Referenced by debug_names::insert(), inside_main_func(), run_command_1(), select_source_symtab(), set_initial_language(), skip_prologue(), tui_get_begin_asm_address(), and write_cooked_index().
completion_list make_source_files_completion_list | ( | const char * | text, |
const char * | word | ||
) |
Definition at line 6115 of file symtab.c.
References add_filename_to_list(), objfile::compunits(), current_program_space, add_partial_filename_data::filename_seen_cache, have_full_symbols(), have_partial_symbols(), add_partial_filename_data::list, map_symbol_filenames(), not_interesting_fname(), program_space::objfiles(), filename_seen_cache::seen(), add_partial_filename_data::text, add_partial_filename_data::text_len, and add_partial_filename_data::word.
Referenced by collect_explicit_location_matches(), complete_files_symbols(), and complete_source_filenames().
bool matching_obj_sections | ( | struct obj_section * | obj_first, |
struct obj_section * | obj_second | ||
) |
Definition at line 1113 of file symtab.c.
References current_program_space, objfile::obfd, program_space::objfiles(), objfile::separate_debug_objfile, objfile::separate_debug_objfile_backlink, and obj_section::the_bfd_section.
Referenced by find_pc_sect_compunit_symtab(), find_pc_sect_psymbol(), and lookup_minimal_symbol_by_pc_section().
const char * multiple_symbols_select_mode | ( | void | ) |
Definition at line 298 of file symtab.c.
References multiple_symbols_mode.
Referenced by decode_line_full(), and user_select_syms().
bool producer_is_realview | ( | const char * | producer | ) |
Definition at line 6346 of file symtab.c.
Referenced by dwarf2_frame_find_quirks(), prototyped_function_p(), and read_structure_type().
int register_symbol_block_impl | ( | enum address_class | aclass, |
const struct symbol_block_ops * | ops | ||
) |
Definition at line 6424 of file symtab.c.
References symbol_impl::aclass, symbol_block_ops::find_frame_base_location, LOC_BLOCK, MAX_SYMBOL_IMPLS, next_aclass_value, and symbol_impl::ops_block.
int register_symbol_computed_impl | ( | enum | address_class, |
const struct symbol_computed_ops * | ops | ||
) |
Definition at line 6398 of file symtab.c.
References symbol_impl::aclass, symbol_computed_ops::describe_location, symbol_computed_ops::get_symbol_read_needs, LOC_COMPUTED, MAX_SYMBOL_IMPLS, next_aclass_value, symbol_impl::ops_computed, symbol_computed_ops::read_variable, and symbol_computed_ops::tracepoint_var_ref.
int register_symbol_register_impl | ( | enum | address_class, |
const struct symbol_register_ops * | ops | ||
) |
Definition at line 6447 of file symtab.c.
References symbol_impl::aclass, LOC_REGISTER, LOC_REGPARM_ADDR, MAX_SYMBOL_IMPLS, next_aclass_value, and symbol_impl::ops_register.
void reread_symbols | ( | int | from_tty | ) |
Definition at line 2421 of file symfile.c.
References build_objfile_section_table(), clear_complaints(), registry< T >::clear_registry(), clear_symtab_users(), objfile::compunit_symtabs, current_program_space, program_space::exec_bfd(), exec_file_attach(), gdb::observers::executable_changed, objfile::expand_all_symtabs(), file_name_style, find_sym_fns(), objfile::flags, forget_cached_source_info(), free_objfile_separate_debug(), gdb_bfd_open(), gdb_printf(), gdb_stdout, gnutarget, init_entry_point_info(), objfile::mtime, gdb::observers::new_objfile, objfile::obfd, OBJF_MAINLINE, OBJF_READNOW, objfile_has_symbols(), objfile_name(), objfile::objfile_obstack, objfile_set_sym_fns(), program_space::objfiles(), objfiles_changed(), objfile::original_name, preserve_values(), print_symbol_loading_p(), objfile::qf, read_symbols(), readnow_symbol_files, objfile::registry_fields, reinit_frame_cache(), objfile::sect_index_bss, objfile::sect_index_data, objfile::sect_index_rodata, objfile::sect_index_text, objfile::section_offsets, objfile::sections, objfile::separate_debug_objfile_backlink, set_objfile_per_bfd(), objfile::sf, objfile::static_links, cli_style_option::style(), styled_string(), sym_fns::sym_finish, sym_fns::sym_init, sym_fns::sym_new_init, sym_fns::sym_offsets, program_space::symfile_object_file, and objfile::template_symbols.
Referenced by load_command(), remote_target::open_1(), run_command_1(), and setup_inferior().
void resolve_sal_pc | ( | struct symtab_and_line * | sal | ) |
Definition at line 9170 of file breakpoint.c.
References block_linkage_function(), blockvector_for_pc_sect(), symtab::compunit(), symtab_and_line::explicit_line, find_line_pc(), fixup_symbol_section(), symtab_and_line::line, lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, bound_minimal_symbol::obj_section(), general_symbol_info::obj_section(), compunit_symtab::objfile(), symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, skip_prologue_sal(), switch_to_program_space_and_thread(), symtab_and_line::symtab, and symtab_to_filename_for_display().
Referenced by breakpoint_sals_to_pc(), info_scope_command(), jump_command(), code_breakpoint::location_spec_to_sals(), and until_break_command().
const char * search_domain_name | ( | enum | search_domain | ) |
Definition at line 323 of file symtab.c.
References ALL_DOMAIN, FUNCTIONS_DOMAIN, MODULES_DOMAIN, TYPES_DOMAIN, and VARIABLES_DOMAIN.
Referenced by objfile::expand_symtabs_matching().
std::vector< module_symbol_search > search_module_symbols | ( | const char * | module_regexp, |
const char * | regexp, | ||
const char * | type_regexp, | ||
search_domain | kind | ||
) |
Definition at line 6568 of file symtab.c.
References MODULES_DOMAIN, prefix, QUIT, global_symbol_searcher::search(), global_symbol_searcher::set_exclude_minsyms(), and global_symbol_searcher::set_symbol_type_regexp().
Referenced by info_module_subcommand(), and mi_info_module_functions_or_variables().
unsigned int search_name_hash | ( | enum language | language, |
const char * | search_name | ||
) |
Definition at line 1931 of file symtab.c.
References language_def(), general_symbol_info::search_name(), and language_defn::search_name_hash().
Referenced by insert_symbol_hashed(), and minimal_symbol_reader::install().
void skip_prologue_sal | ( | struct symtab_and_line * | sal | ) |
Definition at line 3755 of file symtab.c.
References objfile::arch(), block_for_pc_sect(), block_inlined_p(), symtab::compunit(), block::end(), symtab_and_line::end, block::entry_pc(), symtab_and_line::explicit_line, symtab_and_line::explicit_pc, find_pc_sect_function(), find_pc_sect_line(), fixup_symbol_section(), block::function(), gdbarch_deprecated_function_start_offset(), gdbarch_skip_entrypoint(), gdbarch_skip_entrypoint_p(), gdbarch_skip_main_prologue(), gdbarch_skip_main_prologue_p(), gdbarch_skip_prologue_noexcept(), ignore_prologue_end_flag, symtab::language(), language_asm, symbol::line(), symtab_and_line::line, general_symbol_info::linkage_name(), compunit_symtab::locations_valid(), lookup_minimal_symbol_by_pc_section(), bound_minimal_symbol::minsym, name, general_symbol_info::obj_section(), bound_minimal_symbol::objfile, symbol::objfile(), overlay_mapped_address(), overlay_unmapped_address(), symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, section_is_mapped(), section_is_overlay(), skip_prologue_using_lineinfo(), skip_prologue_using_linetable(), strcmp_iw(), block::superblock(), switch_to_program_space_and_thread(), symbol::symtab, symtab_and_line::symtab, bound_minimal_symbol::value_address(), and symbol::value_block().
Referenced by create_sals_line_offset(), find_function_start_sal_1(), and resolve_sal_pc().
CORE_ADDR skip_prologue_using_sal | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | func_addr | ||
) |
Definition at line 3956 of file symtab.c.
References block_for_pc(), block_inlined_p(), symtab_and_line::end, find_pc_line(), find_pc_partial_function(), block::function(), gdbarch_deprecated_function_start_offset(), linetable::item, symtab::language(), language_asm, linetable_entry::line, symtab_and_line::line, symtab::linetable(), linetable::nitems, linetable_entry::pc, symtab_and_line::pc, block::superblock(), and symtab_and_line::symtab.
Referenced by aarch64_skip_prologue(), amd64_skip_prologue(), amd64_windows_skip_prologue(), arc_skip_prologue(), arm_skip_prologue(), avr_skip_prologue(), csky_skip_prologue(), frv_analyze_prologue(), ft32_skip_prologue(), i386_skip_prologue(), lm32_skip_prologue(), loongarch_skip_prologue(), m32c_skip_prologue(), mips_skip_prologue(), moxie_skip_prologue(), nds32_skip_prologue(), nios2_skip_prologue(), or1k_skip_prologue(), riscv_scan_prologue(), riscv_skip_prologue(), rs6000_skip_prologue(), s12z_skip_prologue(), s390_skip_prologue(), sh_skip_prologue(), sparc32_skip_prologue(), tic6x_skip_prologue(), tilegx_skip_prologue(), and z80_skip_prologue().
gdb::unique_xmalloc_ptr< char > symbol_find_demangled_name | ( | struct general_symbol_info * | gsymbol, |
const char * | mangled | ||
) |
Definition at line 870 of file symtab.c.
References demangled_name_entry::demangled, general_symbol_info::language(), language_auto, language_def(), language_unknown, general_symbol_info::m_language, nr_languages, and language_defn::sniff_from_mangled_name().
Referenced by general_symbol_info::compute_and_set_names(), and minimal_symbol_reader::install().
bool symbol_is_function_or_method | ( | minimal_symbol * | msymbol | ) |
Definition at line 5637 of file symtab.c.
References mst_file_text, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, and minimal_symbol::type().
bool symbol_is_function_or_method | ( | symbol * | sym | ) |
Definition at line 5622 of file symtab.c.
References type::code(), and symbol::type().
Referenced by completion_skip_symbol().
|
inlinestatic |
Definition at line 2631 of file symtab.h.
References symbol_lookup_debug.
|
inlinestatic |
Definition at line 2639 of file symtab.h.
References symbol_lookup_debug.
bool symbol_matches_domain | ( | enum language | symbol_language, |
domain_enum | symbol_domain, | ||
domain_enum | domain | ||
) |
Definition at line 2649 of file symtab.c.
References language_ada, language_cplus, language_d, language_rust, STRUCT_DOMAIN, and VAR_DOMAIN.
Referenced by ada_add_block_symbols(), block_find_symbol(), block_lookup_symbol(), block_lookup_symbol_primary(), eq_symbol_entry(), find_label_symbols_in_block(), iterate_over_symbols(), lookup_partial_symbol(), lookup_symbol_in_objfile_symtabs(), match_partial_symbol(), and recursively_search_psymtabs().
bool symbol_matches_search_name | ( | const struct general_symbol_info * | gsymbol, |
const lookup_name_info & | name | ||
) |
Definition at line 1098 of file symtab.c.
References language_defn::get_symbol_name_matcher(), general_symbol_info::language(), language_def(), name, and general_symbol_info::search_name().
Referenced by eq_symbol_entry(), get_out_value_type(), lookup_partial_symbol(), and objfile::lookup_symbol().
CORE_ADDR symbol_overlayed_address | ( | CORE_ADDR | address, |
struct obj_section * | section | ||
) |
Definition at line 3103 of file symfile.c.
References overlay_debugging, overlay_unmapped_address(), section_is_mapped(), and section_is_overlay().
Referenced by find_minsym_type_and_address(), and language_defn::read_var_value().
std::string symbol_to_info_string | ( | struct symbol * | sym, |
int | block, | ||
enum search_domain | kind | ||
) |
Definition at line 4951 of file symtab.c.
References symbol::aclass(), type::code(), symbol::domain(), GLOBAL_BLOCK, LOC_TYPEDEF, MODULES_DOMAIN, general_symbol_info::print_name(), STATIC_BLOCK, string_file::string(), STRUCT_DOMAIN, symbol::type(), type_print(), typedef_print(), and TYPES_DOMAIN.
Referenced by output_debug_symbol(), and print_symbol_info().
bool treg_matches_sym_type_name | ( | const compiled_regex & | treg, |
const struct symbol * | sym | ||
) |
Definition at line 4589 of file symtab.c.
References general_symbol_info::natural_name(), symbol_lookup_debug_printf_v, symbol::type(), and type_to_string().
Referenced by global_symbol_searcher::add_matching_symbols(), and print_variable_and_value_data::operator()().
|
extern |
Definition at line 273 of file symtab.c.
Referenced by global_symbol_searcher::add_matching_symbols(), skiplist_entry::do_skip_file_p(), skiplist_entry::do_skip_gfile_p(), dw_expand_symtabs_matching_file_matcher(), psymbol_functions::expand_symtabs_matching(), and iterate_over_some_symtabs().
|
extern |
Definition at line 181 of file symfile.c.
Referenced by check_typedef(), and increment_reading_symtab().
|
extern |
|
extern |
Definition at line 280 of file symtab.c.
Referenced by decode_line_2(), decode_line_full(), code_breakpoint::decode_location_spec(), and user_select_syms().
|
extern |
Definition at line 279 of file symtab.c.
Referenced by decode_line_full().
|
extern |
Definition at line 281 of file symtab.c.
Referenced by decode_line_2(), decode_line_full(), and user_select_syms().
|
extern |
Referenced by symbol::impl().
|
extern |
Definition at line 260 of file symtab.c.
Referenced by cp_lookup_nested_symbol(), lookup_minimal_symbol(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_static_block(), symbol_lookup_debug_enabled(), and symbol_lookup_debug_enabled_v().
|
extern |
Definition at line 257 of file symtab.c.
Referenced by allocate_symtab(), and partial_symtab::partial_symtab().