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"
Go to the source code of this file.
Classes | |
struct | psymbol_bcache |
struct | psymtab_state |
Macros | |
#define | DEV_TTY "/dev/tty" |
#define | ALL_OBJFILE_PSYMTABS_REQUIRED(objfile, p) |
#define | ALL_PSYMTABS(objfile, p) |
Variables | |
const struct quick_symbol_functions | psym_functions |
initialize_file_ftype | _initialize_psymtab |
#define ALL_OBJFILE_PSYMTABS_REQUIRED | ( | objfile, | |
p | |||
) |
Definition at line 112 of file psymtab.c.
Referenced by find_pc_sect_psymtab(), maintenance_info_psymtabs(), psym_expand_all_symtabs(), psym_expand_symtabs_for_function(), psym_expand_symtabs_matching(), psym_expand_symtabs_with_fullname(), 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 123 of file psymtab.c.
Referenced by maintenance_check_psymtabs(), and maintenance_print_psymbols().
#define DEV_TTY "/dev/tty" |
Definition at line 40 of file psymtab.c.
Referenced by maintenance_print_psymbols().
void _initialize_psymtab | ( | void | ) |
Definition at line 2138 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 1624 of file psymtab.c.
References partial_symbol::domain, objfile::objfile_obstack, psymbol_bcache_full(), objfile::psymbol_cache, PSYMBOL_CLASS, PSYMBOL_DOMAIN, SYMBOL_SECTION, SYMBOL_SET_LANGUAGE, SYMBOL_SET_NAMES, SYMBOL_VALUE, 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, | ||
struct psymbol_allocation_list * | list, | ||
long | val, | ||
CORE_ADDR | coreaddr, | ||
enum language language | , | ||
struct objfile * | objfile | ||
) |
Definition at line 1709 of file psymtab.c.
References add_psymbol_to_bcache(), append_psymbol_to_list(), and objfile::global_psymbols.
struct partial_symtab* allocate_psymtab | ( | const char * | filename, |
struct objfile * | objfile | ||
) |
Definition at line 1774 of file psymtab.c.
References bcache(), partial_symtab::compunit_symtab, partial_symtab::filename, objfile_per_bfd_storage::filename_cache, fprintf_unfiltered(), objfile::free_psymtabs, gdb_stdlog, host_address_to_string(), partial_symtab::next, objfile_name(), objfile::objfile_obstack, objfile::per_bfd, objfile::psymtabs, symtab_create_debug, and xfree().
Referenced by dwarf2_create_include_psymtab(), end_psymtab(), new_psymtab(), start_psymtab_common(), and xcoff_end_psymtab().
|
static |
Definition at line 1694 of file psymtab.c.
References extend_psymbol_list(), psymbol_allocation_list::list, psymbol_allocation_list::next, OBJSTAT, and psymbol_allocation_list::size.
Referenced by add_psymbol_to_list().
Definition at line 1491 of file psymtab.c.
References strcmp_iw_ordered(), and SYMBOL_SEARCH_NAME.
Referenced by sort_pst_symbols().
void discard_psymtab | ( | struct objfile * | objfile, |
struct partial_symtab * | pst | ||
) |
Definition at line 1824 of file psymtab.c.
References objfile::free_psymtabs, partial_symtab::next, and objfile::psymtabs.
Referenced by discard_psymtabs_upto(), end_psymtab(), and xcoff_end_psymtab().
|
static |
Definition at line 1864 of file psymtab.c.
References discard_psymtab(), psymtab_state::objfile, objfile::psymtabs, and psymtab_state::save.
Referenced by make_cleanup_discard_psymtabs().
|
static |
Definition at line 983 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, psymbol_allocation_list::list, 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 1666 of file psymtab.c.
References psymbol_allocation_list::list, psymbol_allocation_list::next, psymbol_allocation_list::size, xmalloc(), and xrealloc().
Referenced by append_psymbol_to_list().
|
static |
Definition at line 405 of file psymtab.c.
References fixup_psymbol_section(), gdb_assert, objfile::global_psymbols, partial_symtab::globals_offset, psymbol_allocation_list::list, 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 306 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 psym_find_pc_sect_compunit_symtab().
|
static |
Definition at line 226 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().
Definition at line 1737 of file psymtab.c.
References objfile::global_psymbols, psymbol_allocation_list::list, psymbol_allocation_list::next, psymbol_allocation_list::size, objfile::static_psymbols, xfree(), and xmalloc().
Referenced by dbx_symfile_read(), dwarf2_build_psymtabs(), and xcoff_initial_scan().
|
static |
Definition at line 666 of file psymtab.c.
References _, do_cleanups(), objfile::global_psymbols, partial_symtab::globals_offset, internal_error(), language_java, psymbol_allocation_list::list, make_cleanup(), partial_symtab::n_global_syms, partial_symtab::n_static_syms, psymtab_search_name(), objfile::static_psymbols, partial_symtab::statics_offset, strcmp_iw_ordered(), SYMBOL_DOMAIN, SYMBOL_LANGUAGE, symbol_matches_domain(), SYMBOL_MATCHES_SEARCH_NAME, SYMBOL_SEARCH_NAME, and xfree().
Referenced by psym_expand_symtabs_for_function(), and psym_lookup_symbol().
|
static |
Definition at line 2044 of file psymtab.c.
References ALL_PSYMTABS, BLOCK_END, block_lookup_symbol(), BLOCK_START, BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, partial_symtab::compunit_symtab, partial_symtab::filename, fputs_filtered(), gdb_stdout, get_objfile_arch(), GLOBAL_BLOCK, objfile::global_psymbols, partial_symtab::globals_offset, psymbol_allocation_list::list, partial_symtab::n_global_syms, partial_symtab::n_static_syms, paddress(), printf_filtered(), cleanup_check::ps, puts_filtered(), STATIC_BLOCK, objfile::static_psymbols, partial_symtab::statics_offset, SYMBOL_DOMAIN, SYMBOL_LINKAGE_NAME, partial_symtab::texthigh, and partial_symtab::textlow.
Referenced by _initialize_psymtab().
|
static |
Definition at line 1938 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(), psymbol_allocation_list::list, partial_symtab::n_global_syms, partial_symtab::n_static_syms, partial_symtab::number_of_dependencies, objfile_name(), paddress(), printf_filtered(), 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 1889 of file psymtab.c.
References _, ALL_PSYMTABS, DEV_TTY, do_cleanups(), dont_repeat(), dump_psymtab(), error(), partial_symtab::filename, gdb_buildargv(), gdb_fopen(), make_cleanup(), make_cleanup_freeargv(), make_cleanup_ui_file_delete(), perror_with_name(), cleanup_check::ps, QUIT, and xfree().
Referenced by _initialize_psymtab().
Definition at line 1876 of file psymtab.c.
References discard_psymtabs_upto(), make_cleanup_dtor(), psymtab_state::objfile, objfile::psymtabs, psymtab_state::save, and xfree().
Referenced by dwarf2_build_psymtabs().
|
static |
Definition at line 1246 of file psymtab.c.
References block_iter_match_first(), block_iter_match_next(), SYMBOL_DOMAIN, SYMBOL_LANGUAGE, and symbol_matches_domain().
Referenced by psym_map_matching_symbols().
|
static |
Definition at line 558 of file psymtab.c.
References gdb_assert, objfile::global_psymbols, partial_symtab::globals_offset, language_java, psymbol_allocation_list::list, partial_symtab::n_global_syms, partial_symtab::n_static_syms, 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 131 of file psymtab.c.
References objfile::compunit_symtabs, gdb_assert, iterate_over_some_symtabs(), psymtab_to_symtab(), partial_symtab::readin, and partial_symtab::user.
Referenced by psym_map_symtabs_matching_filename().
|
static |
Definition at line 892 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 1078 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 1125 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, and psymtab_to_symtab().
|
static |
Definition at line 1103 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, lookup_partial_symbol(), cleanup_check::ps, psymtab_to_symtab(), partial_symtab::readin, and VAR_DOMAIN.
|
static |
Definition at line 1399 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, basenames_may_differ, partial_symtab::filename, cleanup_check::ps, PST_NOT_SEARCHED, psymtab_to_fullname(), psymtab_to_symtab(), QUIT, partial_symtab::readin, recursively_search_psymtabs(), partial_symtab::searched_flag, and partial_symtab::user.
|
static |
Definition at line 1139 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, basenames_may_differ, partial_symtab::filename, psymtab_to_fullname(), and psymtab_to_symtab().
Definition at line 838 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, compunit_primary_filetab(), partial_symtab::filename, internal_error(), len, cleanup_check::ps, psymtab_to_symtab(), and partial_symtab::readin.
|
static |
Definition at line 378 of file psymtab.c.
References _, partial_symtab::compunit_symtab, find_pc_sect_psymtab(), get_objfile_arch(), paddress(), cleanup_check::ps, psymtab_to_symtab(), partial_symtab::readin, and warning().
|
static |
Definition at line 877 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::fullname, and xfree().
Definition at line 1461 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, GLOBAL_BLOCK, lookup_partial_symbol(), cleanup_check::ps, psymtab_to_symtab(), partial_symtab::readin, strcmp_iw(), and SYMBOL_SEARCH_NAME.
|
static |
Definition at line 1272 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, GLOBAL_BLOCK, map_block(), match_partial_symbol(), cleanup_check::ps, psymtab_to_symtab(), QUIT, partial_symtab::readin, and STATIC_BLOCK.
|
static |
Definition at line 1163 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, partial_symtab::filename, partial_symtab::fullname, cleanup_check::ps, psymtab_to_fullname(), QUIT, partial_symtab::readin, and partial_symtab::user.
|
static |
Definition at line 160 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, basenames_may_differ, compare_filenames_for_search(), partial_symtab::filename, gdb_assert, partial_map_expand_apply(), psymtab_to_fullname(), and partial_symtab::user.
|
static |
Definition at line 1060 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, printf_filtered(), cleanup_check::ps, and partial_symtab::readin.
|
static |
Definition at line 801 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, ANOFFSET, fixup_psymbol_section(), objfile::global_psymbols, psymbol_allocation_list::list, 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 1584 of file psymtab.c.
References psymbol_bcache::bcache, bcache_xfree(), and xfree().
Referenced by free_objfile(), and reread_symbols().
|
static |
Definition at line 1607 of file psymtab.c.
References psymbol_bcache::bcache, and bcache_full().
Referenced by add_psymbol_to_bcache().
struct bcache* psymbol_bcache_get_bcache | ( | struct psymbol_bcache * | bcache | ) |
Definition at line 1596 of file psymtab.c.
References psymbol_bcache::bcache.
Referenced by print_objfile_statistics(), and print_symbol_bcache_statistics().
struct psymbol_bcache* psymbol_bcache_init | ( | void | ) |
Definition at line 1575 of file psymtab.c.
References psymbol_bcache::bcache, bcache(), bcache_xmalloc(), psymbol_compare(), and psymbol_hash().
Referenced by allocate_objfile(), and reread_symbols().
Definition at line 1559 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().
Definition at line 1537 of file psymtab.c.
References 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 638 of file psymtab.c.
References cp_remove_params(), current_language, language_defn::la_language, language_cplus, and language_java.
Referenced by lookup_partial_symbol().
|
static |
Definition at line 1203 of file psymtab.c.
References partial_symtab::anonymous, partial_symtab::dirname, do_cleanups(), partial_symtab::filename, find_and_open_source(), partial_symtab::fullname, gdb_assert, make_cleanup(), rewrite_source_path(), SLASH_STRING, and xfree().
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 774 of file psymtab.c.
References partial_symtab::compunit_symtab, do_cleanups(), 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_last_source_symtab(), psym_find_pc_sect_compunit_symtab(), psym_lookup_symbol(), and psym_map_matching_symbols().
|
static |
Definition at line 1312 of file psymtab.c.
References ALL_DOMAIN, partial_symtab::dependencies, FUNCTIONS_DOMAIN, objfile::global_psymbols, partial_symtab::globals_offset, keep_going(), psymbol_allocation_list::list, LOC_BLOCK, LOC_TYPEDEF, partial_symtab::n_global_syms, partial_symtab::n_static_syms, partial_symtab::number_of_dependencies, PST_NOT_SEARCHED, PST_SEARCHED_AND_FOUND, PST_SEARCHED_AND_NOT_FOUND, PSYMBOL_CLASS, QUIT, partial_symtab::searched_flag, objfile::static_psymbols, partial_symtab::statics_offset, SYMBOL_SEARCH_NAME, TYPES_DOMAIN, partial_symtab::user, and VARIABLES_DOMAIN.
Referenced by psym_expand_symtabs_matching().
Definition at line 77 of file psymtab.c.
References _, objfile::flags, gdb_flush(), gdb_stdout, OBJF_PSYMTABS_READ, objfile_has_symbols(), objfile_name(), printf_unfiltered(), objfile::sf, sym_fns::sym_read_psymbols, and wrap_here().
Referenced by read_symbols().
void sort_pst_symbols | ( | struct objfile * | objfile, |
struct partial_symtab * | pst | ||
) |
Definition at line 1501 of file psymtab.c.
References compare_psymbols(), objfile::global_psymbols, partial_symtab::globals_offset, psymbol_allocation_list::list, partial_symtab::n_global_syms, and qsort.
Referenced by build_type_psymtabs_reader(), end_psymtab(), process_psymtab_comp_unit_reader(), and xcoff_end_psymtab().
struct partial_symtab* start_psymtab_common | ( | struct objfile * | objfile, |
const char * | filename, | ||
CORE_ADDR | textlow, | ||
struct partial_symbol ** | global_syms, | ||
struct partial_symbol ** | static_syms | ||
) |
Definition at line 1516 of file psymtab.c.
References allocate_psymtab(), objfile::global_psymbols, partial_symtab::globals_offset, psymbol_allocation_list::list, objfile::static_psymbols, 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().
initialize_file_ftype _initialize_psymtab |
const struct quick_symbol_functions psym_functions |