|
GDB (xrefs)
|
#include "defs.h"#include "symtab.h"#include "psympriv.h"#include "objfiles.h"#include "block.h"#include "filenames.h"#include "source.h"#include "addrmap.h"#include "gdbtypes.h"#include "bcache.h"#include "ui-out.h"#include "command.h"#include "readline/readline.h"#include "gdb_regex.h"#include "dictionary.h"#include "language.h"#include "cp-support.h"#include "gdbcmd.h"#include <algorithm>#include <set>Go to the source code of this file.
Classes | |
| struct | psymbol_bcache |
| struct | dump_psymtab_addrmap_data |
Macros | |
| #define | ALL_OBJFILE_PSYMTABS_REQUIRED(objfile, p) |
| #define | ALL_PSYMTABS(objfile, p) |
Variables | |
| const struct quick_symbol_functions | psym_functions |
| #define ALL_OBJFILE_PSYMTABS_REQUIRED | ( | objfile, | |
| p | |||
| ) |
Definition at line 116 of file psymtab.c.
Referenced by find_pc_sect_psymtab(), maintenance_info_psymtabs(), maintenance_print_psymbols(), psym_expand_all_symtabs(), psym_expand_symtabs_for_function(), psym_expand_symtabs_matching(), psym_expand_symtabs_with_fullname(), psym_find_compunit_symtab_by_address(), psym_find_last_source_symtab(), psym_forget_cached_source_info(), psym_lookup_symbol(), psym_map_matching_symbols(), psym_map_symbol_filenames(), psym_map_symtabs_matching_filename(), psym_print_stats(), and psym_relocate().
| #define ALL_PSYMTABS | ( | objfile, | |
| p | |||
| ) |
Definition at line 127 of file psymtab.c.
Referenced by maintenance_check_psymtabs().
| void _initialize_psymtab | ( | void | ) |
Definition at line 2307 of file psymtab.c.
References _, add_cmd(), class_maintenance, maintenance_check_psymtabs(), maintenance_info_psymtabs(), maintenance_print_psymbols(), maintenanceinfolist, maintenancelist, and maintenanceprintlist.
|
static |
Definition at line 1713 of file psymtab.c.
References copy_name(), partial_symbol::domain, memset(), name, psymbol_bcache_full(), objfile::psymbol_cache, PSYMBOL_CLASS, PSYMBOL_DOMAIN, SYMBOL_SECTION, SYMBOL_SET_LANGUAGE, SYMBOL_SET_NAMES, and SYMBOL_VALUE_ADDRESS.
Referenced by add_psymbol_to_list().
| void add_psymbol_to_list | ( | const char * | name, |
| int | namelength, | ||
| int | copy_name, | ||
| domain_enum | domain, | ||
| enum address_class | theclass, | ||
| std::vector< partial_symbol *> * | list, | ||
| CORE_ADDR | coreaddr, | ||
| enum language language | , | ||
| struct objfile * | objfile | ||
| ) |
Definition at line 1757 of file psymtab.c.
References add_psymbol_to_bcache(), append_psymbol_to_list(), copy_name(), partial_symbol::domain, objfile::global_psymbols, and name.
| struct partial_symtab* allocate_psymtab | ( | const char * | filename, |
| struct objfile * | objfile | ||
| ) |
Definition at line 1798 of file psymtab.c.
References partial_symtab::compunit_symtab, partial_symtab::filename, objfile_per_bfd_storage::filename_cache, fprintf_unfiltered(), objfile::free_psymtabs, gdb_stdlog, host_address_to_string, memset(), partial_symtab::next, objfile_name(), objfile::per_bfd, objfile::psymtabs, symtab_create_debug, and xfree().
Referenced by dbx_end_psymtab(), dwarf2_create_include_psymtab(), new_psymtab(), start_psymtab_common(), and xcoff_end_psymtab().
|
static |
| void discard_psymtab | ( | struct objfile * | objfile, |
| struct partial_symtab * | pst | ||
| ) |
Definition at line 1849 of file psymtab.c.
References objfile::free_psymtabs, partial_symtab::next, and objfile::psymtabs.
Referenced by dbx_end_psymtab(), xcoff_end_psymtab(), and psymtab_discarder::~psymtab_discarder().
|
static |
Definition at line 979 of file psymtab.c.
References partial_symtab::anonymous, partial_symtab::compunit_symtab, partial_symtab::dependencies, partial_symtab::filename, fprintf_filtered(), fprintf_unfiltered(), fputs_filtered(), gdb_print_host_address, get_objfile_arch(), objfile::global_psymbols, partial_symtab::globals_offset, partial_symtab::n_global_syms, partial_symtab::n_static_syms, partial_symtab::number_of_dependencies, objfile_name(), paddress(), print_partial_symbols(), partial_symtab::psymtabs_addrmap_supported, partial_symtab::read_symtab, partial_symtab::readin, objfile::static_psymbols, partial_symtab::statics_offset, partial_symtab::texthigh, partial_symtab::textlow, and partial_symtab::user.
Referenced by maintenance_print_psymbols().
|
static |
Definition at line 1929 of file psymtab.c.
References addrmap_foreach(), dump_psymtab_addrmap_1(), fprintf_filtered(), dump_psymtab_addrmap_data::objfile, dump_psymtab_addrmap_data::outfile, dump_psymtab_addrmap_data::previous_matched, dump_psymtab_addrmap_data::psymtab, objfile::psymtabs_addrmap, and partial_symtab::psymtabs_addrmap_supported.
Referenced by maintenance_print_psymbols().
|
static |
Definition at line 1893 of file psymtab.c.
References gdbarch::data, fprintf_filtered(), get_objfile_arch(), host_address_to_string, dump_psymtab_addrmap_data::outfile, paddress(), dump_psymtab_addrmap_data::previous_matched, dump_psymtab_addrmap_data::psymtab, and QUIT.
Referenced by dump_psymtab_addrmap().
| void end_psymtab_common | ( | struct objfile * | objfile, |
| struct partial_symtab * | pst | ||
| ) |
Definition at line 1606 of file psymtab.c.
References objfile::global_psymbols, partial_symtab::globals_offset, partial_symtab::n_global_syms, partial_symtab::n_static_syms, sort_pst_symbols(), objfile::static_psymbols, and partial_symtab::statics_offset.
Referenced by build_type_psymtabs_reader(), dbx_end_psymtab(), process_psymtab_comp_unit_reader(), and xcoff_end_psymtab().
|
static |
Definition at line 409 of file psymtab.c.
References fixup_psymbol_section(), gdb_assert, objfile::global_psymbols, partial_symtab::globals_offset, LOC_BLOCK, matching_obj_sections(), partial_symtab::n_global_syms, partial_symtab::n_static_syms, PSYMBOL_CLASS, objfile::static_psymbols, partial_symtab::statics_offset, SYMBOL_DOMAIN, SYMBOL_OBJ_SECTION, SYMBOL_VALUE_ADDRESS, partial_symtab::textlow, and VAR_DOMAIN.
Referenced by find_pc_sect_psymtab(), and find_pc_sect_psymtab_closer().
|
static |
Definition at line 309 of file psymtab.c.
References addrmap_find(), ALL_OBJFILE_PSYMTABS_REQUIRED, BMSYMBOL_VALUE_ADDRESS, find_pc_sect_psymbol(), find_pc_sect_psymtab_closer(), bound_minimal_symbol::minsym, overlay_debugging, objfile::psymtabs_addrmap, partial_symtab::psymtabs_addrmap_supported, SYMBOL_VALUE_ADDRESS, and partial_symtab::textlow.
Referenced by maintenance_print_psymbols(), and psym_find_pc_sect_compunit_symtab().
|
static |
Definition at line 228 of file psymtab.c.
References BMSYMBOL_VALUE_ADDRESS, find_pc_sect_psymbol(), objfile::flags, gdb_assert, bound_minimal_symbol::minsym, partial_symtab::next, OBJF_REORDERED, partial_symtab::psymtabs_addrmap_supported, SYMBOL_VALUE_ADDRESS, partial_symtab::texthigh, and partial_symtab::textlow.
Referenced by find_pc_sect_psymtab().
|
static |
Definition at line 474 of file psymtab.c.
References fixup_section(), gdb_assert, partial_symbol::ginfo, LOC_BLOCK, LOC_LABEL, LOC_STATIC, PSYMBOL_CLASS, SYMBOL_SECTION, and SYMBOL_VALUE_ADDRESS.
Referenced by find_pc_sect_psymbol(), and psym_relocate().
| void init_psymbol_list | ( | struct objfile * | objfile, |
| int | total_symbols | ||
| ) |
Definition at line 1784 of file psymtab.c.
References objfile::global_psymbols, and objfile::static_psymbols.
Referenced by dbx_symfile_read(), dwarf2_build_psymtabs(), and xcoff_initial_scan().
|
static |
Definition at line 682 of file psymtab.c.
References _, partial_symbol::domain, FULL, selftests::scoped_restore_tests::global, objfile::global_psymbols, partial_symtab::globals_offset, internal_error(), partial_symtab::n_global_syms, partial_symtab::n_static_syms, name, psymtab_search_name(), objfile::static_psymbols, partial_symtab::statics_offset, strcmp_iw_ordered(), SYMBOL_DOMAIN, SYMBOL_LANGUAGE, symbol_matches_domain(), SYMBOL_MATCHES_SEARCH_NAME, and SYMBOL_SEARCH_NAME.
Referenced by psym_expand_symtabs_for_function(), and psym_lookup_symbol().
|
static |
Definition at line 2216 of file psymtab.c.
References ALL_PSYMTABS, BLOCK_END, block_lookup_symbol(), BLOCK_START, BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, fputs_filtered(), gdb_stdout, get_objfile_arch(), GLOBAL_BLOCK, objfile::global_psymbols, objfile::objfile(), paddress(), printf_filtered(), cleanup_check::ps, puts_filtered(), SEARCH_NAME, STATIC_BLOCK, objfile::static_psymbols, SYMBOL_DOMAIN, SYMBOL_LINKAGE_NAME, and SYMBOL_SEARCH_NAME.
Referenced by _initialize_psymtab().
|
static |
Definition at line 2108 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, ALL_PSPACE_OBJFILES, ALL_PSPACES, partial_symtab::dependencies, partial_symtab::filename, fputs_filtered(), partial_symtab::fullname, gdb_stdout, get_objfile_arch(), objfile::global_psymbols, partial_symtab::globals_offset, host_address_to_string, partial_symtab::n_global_syms, partial_symtab::n_static_syms, partial_symtab::number_of_dependencies, objfile::objfile(), objfile_name(), paddress(), printf_filtered(), objfile::pspace, partial_symtab::psymtabs_addrmap_supported, QUIT, re_comp(), partial_symtab::readin, objfile::static_psymbols, partial_symtab::statics_offset, partial_symtab::texthigh, partial_symtab::textlow, and wrap_here().
Referenced by _initialize_psymtab().
|
static |
Definition at line 1950 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, ALL_OBJFILES, gdb::argv, compare_filenames_for_search(), dont_repeat(), dump_psymtab(), dump_psymtab_addrmap(), error(), find_pc_sect_psymtab(), find_pc_section(), gdb_stdout, objfile::objfile(), objfile_name(), stdio_file::open(), parse_and_eval_address(), perror_with_name(), ui_file::printf(), cleanup_check::ps, objfile::psymtabs_addrmap, ui_file::puts(), and QUIT.
Referenced by _initialize_psymtab().
|
static |
Definition at line 1238 of file psymtab.c.
References block_iter_match_first(), block_iter_match_next(), symbol::domain, name, SYMBOL_DOMAIN, SYMBOL_LANGUAGE, and symbol_matches_domain().
Referenced by psym_map_matching_symbols().
|
static |
Definition at line 572 of file psymtab.c.
References partial_symbol::domain, gdb_assert, selftests::scoped_restore_tests::global, objfile::global_psymbols, partial_symtab::globals_offset, lookup_name_info::language_lookup_name(), partial_symtab::n_global_syms, partial_symtab::n_static_syms, name, psymbol_name_matches(), objfile::static_psymbols, partial_symtab::statics_offset, SYMBOL_DOMAIN, SYMBOL_LANGUAGE, symbol_matches_domain(), and SYMBOL_SEARCH_NAME.
Referenced by psym_map_matching_symbols().
|
static |
Definition at line 135 of file psymtab.c.
References objfile::compunit_symtabs, gdb_assert, iterate_over_some_symtabs(), name, psymtab_to_symtab(), partial_symtab::readin, and partial_symtab::user.
Referenced by psym_map_symtabs_matching_filename().
|
static |
Definition at line 888 of file psymtab.c.
References fprintf_filtered(), fputs_filtered(), LABEL_DOMAIN, LOC_ARG, LOC_BLOCK, LOC_COMPUTED, LOC_CONST, LOC_CONST_BYTES, LOC_LABEL, LOC_LOCAL, LOC_OPTIMIZED_OUT, LOC_REF_ARG, LOC_REGISTER, LOC_REGPARM_ADDR, LOC_STATIC, LOC_TYPEDEF, LOC_UNDEF, LOC_UNRESOLVED, paddress(), PSYMBOL_CLASS, QUIT, STRUCT_DOMAIN, SYMBOL_DEMANGLED_NAME, SYMBOL_DOMAIN, SYMBOL_LINKAGE_NAME, SYMBOL_VALUE_ADDRESS, UNDEF_DOMAIN, and VAR_DOMAIN.
Referenced by dump_psymtab().
|
static |
Definition at line 1072 of file psymtab.c.
References partial_symtab::filename, gdb_print_host_address, gdb_stdout, partial_symtab::next, printf_filtered(), objfile::psymtabs, and wrap_here().
|
static |
Definition at line 1119 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, and psymtab_to_symtab().
|
static |
Definition at line 1097 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, lookup_partial_symbol(), cleanup_check::ps, psymtab_to_symtab(), and VAR_DOMAIN.
|
static |
Definition at line 1393 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, basenames_may_differ, lookup_name_info::make_ignore_params(), cleanup_check::ps, PST_NOT_SEARCHED, psymtab_to_fullname(), psymtab_to_symtab(), QUIT, and recursively_search_psymtabs().
|
static |
Definition at line 1133 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, basenames_may_differ, partial_symtab::filename, partial_symtab::fullname, psymtab_to_fullname(), and psymtab_to_symtab().
|
static |
Definition at line 1467 of file psymtab.c.
References LOC_STATIC, PSYMBOL_CLASS, objfile::psymbol_map, and SYMBOL_VALUE_ADDRESS.
Referenced by psym_find_compunit_symtab_by_address().
|
static |
Definition at line 1494 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, objfile::global_psymbols, partial_symtab::globals_offset, partial_symtab::n_global_syms, partial_symtab::n_static_syms, psym_fill_psymbol_map(), objfile::psymbol_map, psymtab_to_symtab(), objfile::static_psymbols, and partial_symtab::statics_offset.
Definition at line 834 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, compunit_primary_filetab(), internal_error(), name, cleanup_check::ps, psymtab_to_symtab(), and partial_symtab::readin.
|
static |
Definition at line 382 of file psymtab.c.
References _, find_pc_sect_psymtab(), get_objfile_arch(), paddress(), cleanup_check::ps, psymtab_to_symtab(), and warning().
|
static |
Definition at line 873 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::fullname, and xfree().
|
static |
Definition at line 1458 of file psymtab.c.
References objfile::psymtabs.
|
static |
Definition at line 506 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, block_find_non_opaque_type_preferred(), block_find_symbol(), BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, FULL, GLOBAL_BLOCK, lookup_partial_symbol(), name, cleanup_check::ps, psymtab_to_symtab(), and SYMBOL_MATCHES_SEARCH_NAME.
|
static |
Definition at line 1267 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, selftests::scoped_restore_tests::global, GLOBAL_BLOCK, map_block(), match_partial_symbol(), name, cleanup_check::ps, psymtab_to_symtab(), QUIT, and STATIC_BLOCK.
|
static |
Definition at line 1157 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::fullname, cleanup_check::ps, psymtab_to_fullname(), and QUIT.
|
static |
Definition at line 164 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, basenames_may_differ, compare_filenames_for_search(), partial_symtab::filename, gdb_assert, name, partial_map_expand_apply(), psymtab_to_fullname(), and partial_symtab::user.
|
static |
Definition at line 1054 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, printf_filtered(), and cleanup_check::ps.
|
static |
Definition at line 802 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, ANOFFSET, fixup_psymbol_section(), objfile::global_psymbols, objfile::psymbol_map, SECT_OFF_TEXT, objfile::static_psymbols, SYMBOL_SECTION, SYMBOL_VALUE_ADDRESS, partial_symtab::texthigh, and partial_symtab::textlow.
| void psymbol_bcache_free | ( | struct psymbol_bcache * | bcache | ) |
Definition at line 1674 of file psymtab.c.
References bcache_xfree(), and xfree().
Referenced by reread_symbols(), and objfile::~objfile().
|
static |
Definition at line 1697 of file psymtab.c.
References bcache_full().
Referenced by add_psymbol_to_bcache().
| struct bcache* psymbol_bcache_get_bcache | ( | struct psymbol_bcache * | bcache | ) |
Definition at line 1686 of file psymtab.c.
Referenced by print_objfile_statistics(), and print_symbol_bcache_statistics().
| struct psymbol_bcache* psymbol_bcache_init | ( | void | ) |
Definition at line 1663 of file psymtab.c.
References bcache(), bcache_xmalloc(), psymbol_compare(), psymbol_hash(), and XCNEW.
Referenced by reread_symbols().
|
static |
Definition at line 1644 of file psymtab.c.
References partial_symbol::ginfo, general_symbol_info::language, general_symbol_info::name, PSYMBOL_CLASS, PSYMBOL_DOMAIN, and general_symbol_info::value.
Referenced by psymbol_bcache_init().
|
static |
Definition at line 1620 of file psymtab.c.
References partial_symbol::domain, partial_symbol::ginfo, hash_continue(), general_symbol_info::language, general_symbol_info::name, PSYMBOL_CLASS, PSYMBOL_DOMAIN, and general_symbol_info::value.
Referenced by psymbol_bcache_init().
|
static |
Definition at line 554 of file psymtab.c.
References get_symbol_name_matcher(), language_def(), SYMBOL_LANGUAGE, and SYMBOL_SEARCH_NAME.
Referenced by match_partial_symbol(), and recursively_search_psymtabs().
|
static |
Definition at line 655 of file psymtab.c.
References cp_remove_params(), current_language, language_defn::la_language, language_cplus, and name.
Referenced by lookup_partial_symbol().
|
static |
Definition at line 1197 of file psymtab.c.
References find_and_open_source(), partial_symtab::fullname, gdb_assert, cleanup_check::ps, rewrite_source_path(), and SLASH_STRING.
Referenced by psym_expand_symtabs_matching(), psym_expand_symtabs_with_fullname(), psym_map_symbol_filenames(), and psym_map_symtabs_matching_filename().
|
static |
Definition at line 776 of file psymtab.c.
References partial_symtab::compunit_symtab, increment_reading_symtab(), partial_symtab::read_symtab, partial_symtab::readin, and partial_symtab::user.
Referenced by partial_map_expand_apply(), psym_expand_all_symtabs(), psym_expand_symtabs_for_function(), psym_expand_symtabs_matching(), psym_expand_symtabs_with_fullname(), psym_find_compunit_symtab_by_address(), psym_find_last_source_symtab(), psym_find_pc_sect_compunit_symtab(), psym_lookup_symbol(), and psym_map_matching_symbols().
|
static |
Definition at line 1308 of file psymtab.c.
References ALL_DOMAIN, FUNCTIONS_DOMAIN, objfile::global_psymbols, keep_going(), LOC_BLOCK, LOC_TYPEDEF, cleanup_check::ps, PST_NOT_SEARCHED, PST_SEARCHED_AND_FOUND, PST_SEARCHED_AND_NOT_FOUND, PSYMBOL_CLASS, psymbol_name_matches(), QUIT, objfile::static_psymbols, SYMBOL_SEARCH_NAME, TYPES_DOMAIN, and VARIABLES_DOMAIN.
Referenced by psym_expand_symtabs_matching().
Definition at line 75 of file psymtab.c.
References _, objfile::flags, gdb_flush(), gdb_stdout, objfile::global_psymbols, OBJF_PSYMTABS_READ, objfile::objfile(), objfile_has_symbols(), objfile_name(), printf_unfiltered(), objfile::sf, objfile::static_psymbols, sym_fns::sym_read_psymbols, and wrap_here().
Referenced by read_symbols().
|
static |
Definition at line 1564 of file psymtab.c.
References objfile::global_psymbols, partial_symtab::globals_offset, strcmp_iw_ordered(), and SYMBOL_SEARCH_NAME.
Referenced by end_psymtab_common().
| struct partial_symtab* start_psymtab_common | ( | struct objfile * | objfile, |
| const char * | filename, | ||
| CORE_ADDR | textlow, | ||
| std::vector< partial_symbol *> & | global_psymbols, | ||
| std::vector< partial_symbol *> & | static_psymbols | ||
| ) |
Definition at line 1587 of file psymtab.c.
References allocate_psymtab(), partial_symtab::filename, partial_symtab::globals_offset, partial_symtab::statics_offset, partial_symtab::texthigh, and partial_symtab::textlow.
Referenced by create_partial_symtab(), parse_partial_symbols(), start_psymtab(), and xcoff_start_psymtab().
| const struct quick_symbol_functions psym_functions |
1.8.14