GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "psympriv.h"
#include "objfiles.h"
#include "gdb_assert.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.
#define ALL_OBJFILE_PSYMTABS_REQUIRED | ( | objfile, | |
p | |||
) |
for ((p) = require_partial_symbols (objfile, 1)->psymtabs; \ (p) != NULL; \ (p) = (p)->next)
Definition at line 113 of file psymtab.c.
Referenced by expand_partial_symbol_tables(), expand_symtabs_matching_via_partial(), find_last_source_symtab_from_partial(), find_pc_sect_psymtab(), forget_cached_source_info_partial(), lookup_symbol_aux_psymtabs(), maintenance_info_psymtabs(), map_matching_symbols_psymtab(), map_symbol_filenames_psymtab(), partial_map_symtabs_matching_filename(), print_psymtab_stats_for_objfile(), read_psymtabs_with_fullname(), read_symtabs_for_function(), and relocate_psymtabs().
#define ALL_PSYMTABS | ( | objfile, | |
p | |||
) |
ALL_OBJFILES (objfile) \ ALL_OBJFILE_PSYMTABS_REQUIRED (objfile, p)
Definition at line 124 of file psymtab.c.
Referenced by maintenance_check_psymtabs(), and maintenance_print_psymbols().
#define DEV_TTY "/dev/tty" |
Definition at line 41 of file psymtab.c.
Referenced by maintenance_print_psymbols().
void _initialize_psymtab | ( | void | ) |
Definition at line 2122 of file psymtab.c.
References _, add_cmd(), class_maintenance, maintenance_check_psymtabs(), maintenance_info_psymtabs(), maintenance_print_psymbols(), maintenanceinfolist, maintenancelist, and maintenanceprintlist.
static struct partial_symbol* add_psymbol_to_bcache | ( | const char * | name, |
int | namelength, | ||
int | copy_name, | ||
domain_enum | domain, | ||
enum address_class | class, | ||
long | val, | ||
CORE_ADDR | coreaddr, | ||
enum language | language, | ||
struct objfile * | objfile, | ||
int * | added | ||
) | [static, read] |
Definition at line 1580 of file psymtab.c.
References memset(), 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 | class, | ||
struct psymbol_allocation_list * | list, | ||
long | val, | ||
CORE_ADDR | coreaddr, | ||
enum language language | , | ||
struct objfile * | objfile | ||
) |
Definition at line 1665 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 | ||
) | [read] |
Definition at line 1730 of file psymtab.c.
References partial_symtab::filename, fprintf_unfiltered(), objfile::free_psymtabs, gdb_stdlog, host_address_to_string(), memset(), partial_symtab::next, objfile_name(), objfile::objfile_obstack, objfile::psymtabs, partial_symtab::symtab, symtab_create_debug, and xfree().
Referenced by dwarf2_create_include_psymtab(), end_psymtab(), new_psymtab(), start_psymtab_common(), and xcoff_end_psymtab().
static void append_psymbol_to_list | ( | struct psymbol_allocation_list * | list, |
const struct partial_symbol * | psym, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 1650 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().
static int compare_psymbols | ( | const void * | s1p, |
const void * | s2p | ||
) | [static] |
Definition at line 1445 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 1780 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 void discard_psymtabs_upto | ( | void * | arg | ) | [static] |
Definition at line 1820 of file psymtab.c.
References discard_psymtab(), psymtab_state::objfile, objfile::psymtabs, and psymtab_state::save.
Referenced by make_cleanup_discard_psymtabs().
static void dump_psymtab | ( | struct objfile * | objfile, |
struct partial_symtab * | psymtab, | ||
struct ui_file * | outfile | ||
) | [static] |
Definition at line 957 of file psymtab.c.
References ANOFFSET, partial_symtab::anonymous, 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, objfile::num_sections, partial_symtab::number_of_dependencies, objfile_name(), paddress(), print_partial_symbols(), partial_symtab::psymtabs_addrmap_supported, partial_symtab::read_symtab, partial_symtab::readin, partial_symtab::section_offsets, objfile::static_psymbols, partial_symtab::statics_offset, partial_symtab::symtab, partial_symtab::texthigh, partial_symtab::textlow, partial_symtab::user, and wrap_here().
Referenced by maintenance_print_psymbols().
static void dump_psymtabs_for_objfile | ( | struct objfile * | objfile | ) | [static] |
Definition at line 1058 of file psymtab.c.
References partial_symtab::filename, gdb_print_host_address(), gdb_stdout, partial_symtab::next, printf_filtered(), objfile::psymtabs, and wrap_here().
void expand_partial_symbol_names | ( | int(*)(const char *, void *) | fun, |
void * | data | ||
) |
Definition at line 2092 of file psymtab.c.
References ALL_DOMAIN, ALL_OBJFILES, quick_symbol_functions::expand_symtabs_matching, sym_fns::qf, and objfile::sf.
Referenced by VEC().
static void expand_partial_symbol_tables | ( | struct objfile * | objfile | ) | [static] |
Definition at line 1101 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, and psymtab_to_symtab().
static void expand_symtabs_matching_via_partial | ( | struct objfile * | objfile, |
int(*)(const char *, void *, int basenames) | file_matcher, | ||
int(*)(const char *, void *) | name_matcher, | ||
enum search_domain | kind, | ||
void * | data | ||
) | [static] |
Definition at line 1365 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(), partial_symtab::readin, recursively_search_psymtabs(), and partial_symtab::user.
static void extend_psymbol_list | ( | struct psymbol_allocation_list * | listp, |
struct objfile * | objfile | ||
) | [static] |
Definition at line 1622 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 struct symtab* find_last_source_symtab_from_partial | ( | struct objfile * | ofp | ) | [static, read] |
Definition at line 821 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::filename, internal_error(), len, cleanup_check::ps, psymtab_to_symtab(), and partial_symtab::readin.
static struct partial_symbol * find_pc_sect_psymbol | ( | struct objfile * | objfile, |
struct partial_symtab * | psymtab, | ||
CORE_ADDR | pc, | ||
struct obj_section * | section | ||
) | [static, read] |
Definition at line 401 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, p, 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 struct partial_symtab* find_pc_sect_psymtab | ( | struct objfile * | objfile, |
CORE_ADDR | pc, | ||
struct obj_section * | section, | ||
struct minimal_symbol * | msymbol | ||
) | [static, read] |
Definition at line 306 of file psymtab.c.
References addrmap_find(), ALL_OBJFILE_PSYMTABS_REQUIRED, find_pc_sect_psymbol(), find_pc_sect_psymtab_closer(), overlay_debugging, p, objfile::psymtabs_addrmap, partial_symtab::psymtabs_addrmap_supported, SYMBOL_VALUE_ADDRESS, and partial_symtab::textlow.
Referenced by find_pc_sect_symtab_from_partial().
static struct partial_symtab* find_pc_sect_psymtab_closer | ( | struct objfile * | objfile, |
CORE_ADDR | pc, | ||
struct obj_section * | section, | ||
struct partial_symtab * | pst, | ||
struct minimal_symbol * | msymbol | ||
) | [static, read] |
Definition at line 226 of file psymtab.c.
References find_pc_sect_psymbol(), objfile::flags, gdb_assert, partial_symtab::next, OBJF_REORDERED, p, partial_symtab::psymtabs_addrmap_supported, SYMBOL_VALUE_ADDRESS, partial_symtab::texthigh, and partial_symtab::textlow.
Referenced by find_pc_sect_psymtab().
static struct symtab* find_pc_sect_symtab_from_partial | ( | struct objfile * | objfile, |
struct minimal_symbol * | msymbol, | ||
CORE_ADDR | pc, | ||
struct obj_section * | section, | ||
int | warn_if_readin | ||
) | [static, read] |
Definition at line 375 of file psymtab.c.
References _, find_pc_sect_psymtab(), get_objfile_arch(), paddress(), cleanup_check::ps, psymtab_to_symtab(), partial_symtab::readin, partial_symtab::symtab, and warning().
static void fixup_psymbol_section | ( | struct partial_symbol * | psym, |
struct objfile * | objfile | ||
) | [static] |
Definition at line 470 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 relocate_psymtabs().
static void forget_cached_source_info_partial | ( | struct objfile * | objfile | ) | [static] |
Definition at line 851 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::fullname, and xfree().
void init_psymbol_list | ( | struct objfile * | objfile, |
int | total_symbols | ||
) |
Definition at line 1693 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 struct partial_symbol * lookup_partial_symbol | ( | struct objfile * | objfile, |
struct partial_symtab * | pst, | ||
const char * | name, | ||
int | global, | ||
domain_enum | domain | ||
) | [static, read] |
Definition at line 658 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 lookup_symbol_aux_psymtabs(), and read_symtabs_for_function().
static struct symtab* lookup_symbol_aux_psymtabs | ( | struct objfile * | objfile, |
int | block_index, | ||
const char * | name, | ||
const domain_enum | domain | ||
) | [static, read] |
Definition at line 499 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, BLOCKVECTOR, BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, lookup_block_symbol(), lookup_partial_symbol(), symtab::primary, cleanup_check::ps, psymtab_to_symtab(), partial_symtab::readin, strcmp_iw(), SYMBOL_SEARCH_NAME, SYMBOL_TYPE, and TYPE_IS_OPAQUE.
static void maintenance_check_psymtabs | ( | char * | ignore, |
int | from_tty | ||
) | [static] |
Definition at line 2000 of file psymtab.c.
References ALL_PSYMTABS, BLOCK_END, BLOCK_START, BLOCKVECTOR, BLOCKVECTOR_BLOCK, partial_symtab::filename, fputs_filtered(), gdb_stdout, get_objfile_arch(), GLOBAL_BLOCK, objfile::global_psymbols, partial_symtab::globals_offset, psymbol_allocation_list::list, lookup_block_symbol(), 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::symtab, partial_symtab::texthigh, and partial_symtab::textlow.
Referenced by _initialize_psymtab().
static void maintenance_info_psymtabs | ( | char * | regexp, |
int | from_tty | ||
) | [static] |
Definition at line 1894 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 void maintenance_print_psymbols | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 1845 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().
struct cleanup* make_cleanup_discard_psymtabs | ( | struct objfile * | objfile | ) | [read] |
Definition at line 1832 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 int map_block | ( | const char * | name, |
domain_enum | namespace, | ||
struct objfile * | objfile, | ||
struct block * | block, | ||
int(*)(struct block *, struct symbol *, void *) | callback, | ||
void * | data, | ||
symbol_compare_ftype * | match | ||
) | [static] |
Definition at line 1215 of file psymtab.c.
References block_iter_match_first(), block_iter_match_next(), SYMBOL_DOMAIN, SYMBOL_LANGUAGE, and symbol_matches_domain().
Referenced by map_matching_symbols_psymtab().
static void map_matching_symbols_psymtab | ( | struct objfile * | objfile, |
const char * | name, | ||
domain_enum | namespace, | ||
int | global, | ||
int(*)(struct block *, struct symbol *, void *) | callback, | ||
void * | data, | ||
symbol_compare_ftype * | match, | ||
symbol_compare_ftype * | ordered_compare | ||
) | [static] |
Definition at line 1241 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, BLOCKVECTOR, BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, map_block(), match_partial_symbol(), symtab::primary, cleanup_check::ps, psymtab_to_symtab(), QUIT, partial_symtab::readin, and STATIC_BLOCK.
void map_partial_symbol_filenames | ( | symbol_filename_ftype * | fun, |
void * | data, | ||
int | need_fullname | ||
) |
Definition at line 2106 of file psymtab.c.
References ALL_OBJFILES, quick_symbol_functions::map_symbol_filenames, sym_fns::qf, and objfile::sf.
Referenced by gdb_listfiles(), mi_cmd_file_list_exec_source_files(), and sources_info().
static void map_symbol_filenames_psymtab | ( | struct objfile * | objfile, |
symbol_filename_ftype * | fun, | ||
void * | data, | ||
int | need_fullname | ||
) | [static] |
Definition at line 1132 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 struct partial_symbol * match_partial_symbol | ( | struct objfile * | objfile, |
struct partial_symtab * | pst, | ||
int | global, | ||
const char * | name, | ||
domain_enum | domain, | ||
symbol_compare_ftype * | match, | ||
symbol_compare_ftype * | ordered_compare | ||
) | [static, read] |
Definition at line 550 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 map_matching_symbols_psymtab().
static int objfile_has_psyms | ( | struct objfile * | objfile | ) | [static] |
Definition at line 1415 of file psymtab.c.
References objfile::psymtabs.
static int partial_map_expand_apply | ( | struct objfile * | objfile, |
const char * | name, | ||
const char * | real_path, | ||
struct partial_symtab * | pst, | ||
int(*)(struct symtab *, void *) | callback, | ||
void * | data | ||
) | [static] |
Definition at line 132 of file psymtab.c.
References gdb_assert, iterate_over_some_symtabs(), psymtab_to_symtab(), partial_symtab::readin, objfile::symtabs, and partial_symtab::user.
Referenced by partial_map_symtabs_matching_filename().
static int partial_map_symtabs_matching_filename | ( | struct objfile * | objfile, |
const char * | name, | ||
const char * | real_path, | ||
int(*)(struct symtab *, void *) | callback, | ||
void * | data | ||
) | [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 void print_partial_symbols | ( | struct gdbarch * | gdbarch, |
struct partial_symbol ** | p, | ||
int | count, | ||
char * | what, | ||
struct ui_file * | outfile | ||
) | [static] |
Definition at line 866 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 void print_psymtab_stats_for_objfile | ( | struct objfile * | objfile | ) | [static] |
Definition at line 1043 of file psymtab.c.
References _, ALL_OBJFILE_PSYMTABS_REQUIRED, printf_filtered(), cleanup_check::ps, and partial_symtab::readin.
void psymbol_bcache_free | ( | struct psymbol_bcache * | bcache | ) |
Definition at line 1540 of file psymtab.c.
References psymbol_bcache::bcache, bcache_xfree(), and xfree().
Referenced by free_objfile(), and reread_symbols().
static struct partial_symbol* psymbol_bcache_full | ( | struct partial_symbol * | sym, |
struct psymbol_bcache * | bcache, | ||
int * | added | ||
) | [static, read] |
Definition at line 1563 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 | ) | [read] |
Definition at line 1552 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 | ) | [read] |
Definition at line 1531 of file psymtab.c.
References psymbol_bcache::bcache, bcache(), bcache_xmalloc(), psymbol_compare(), psymbol_hash(), and XCALLOC.
Referenced by allocate_objfile(), and reread_symbols().
static int psymbol_compare | ( | const void * | addr1, |
const void * | addr2, | ||
int | length | ||
) | [static] |
Definition at line 1515 of file psymtab.c.
References partial_symbol::ginfo, memcmp(), general_symbol_info::name, PSYMBOL_CLASS, PSYMBOL_DOMAIN, and general_symbol_info::value.
Referenced by psymbol_bcache_init().
static unsigned long psymbol_hash | ( | const void * | addr, |
int | length | ||
) | [static] |
Definition at line 1493 of file psymtab.c.
References partial_symbol::ginfo, hash_continue(), PSYMBOL_CLASS, and PSYMBOL_DOMAIN.
Referenced by psymbol_bcache_init().
static char* psymtab_search_name | ( | const char * | name | ) | [static] |
Definition at line 630 of file psymtab.c.
References cp_remove_params(), current_language, language_defn::la_language, language_cplus, language_java, and strchr().
Referenced by lookup_partial_symbol().
static const char * psymtab_to_fullname | ( | struct partial_symtab * | ps | ) | [static] |
Definition at line 1172 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(), and xfree().
Referenced by expand_symtabs_matching_via_partial(), map_symbol_filenames_psymtab(), partial_map_symtabs_matching_filename(), and read_psymtabs_with_fullname().
static struct symtab * psymtab_to_symtab | ( | struct objfile * | objfile, |
struct partial_symtab * | pst | ||
) | [static, read] |
Definition at line 763 of file psymtab.c.
References do_cleanups(), increment_reading_symtab(), partial_symtab::read_symtab, partial_symtab::readin, partial_symtab::symtab, and partial_symtab::user.
Referenced by expand_partial_symbol_tables(), expand_symtabs_matching_via_partial(), find_last_source_symtab_from_partial(), find_pc_sect_symtab_from_partial(), lookup_symbol_aux_psymtabs(), map_matching_symbols_psymtab(), partial_map_expand_apply(), read_psymtabs_with_fullname(), and read_symtabs_for_function().
static void read_psymtabs_with_fullname | ( | struct objfile * | objfile, |
const char * | fullname | ||
) | [static] |
Definition at line 1112 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, partial_symtab::anonymous, basenames_may_differ, partial_symtab::filename, p, psymtab_to_fullname(), and psymtab_to_symtab().
static void read_symtabs_for_function | ( | struct objfile * | objfile, |
const char * | func_name | ||
) | [static] |
Definition at line 1083 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 int recursively_search_psymtabs | ( | struct partial_symtab * | ps, |
struct objfile * | objfile, | ||
enum search_domain | kind, | ||
int(*)(const char *, void *) | name_matcher, | ||
void * | data | ||
) | [static] |
Definition at line 1281 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, objfile::static_psymbols, partial_symtab::statics_offset, SYMBOL_SEARCH_NAME, TYPES_DOMAIN, partial_symtab::user, and VARIABLES_DOMAIN.
Referenced by expand_symtabs_matching_via_partial().
static void relocate_psymtabs | ( | struct objfile * | objfile, |
const struct section_offsets * | new_offsets, | ||
const struct section_offsets * | delta | ||
) | [static] |
Definition at line 787 of file psymtab.c.
References ALL_OBJFILE_PSYMTABS_REQUIRED, ANOFFSET, fixup_psymbol_section(), objfile::global_psymbols, psymbol_allocation_list::list, p, SECT_OFF_TEXT, objfile::static_psymbols, SYMBOL_SECTION, SYMBOL_VALUE_ADDRESS, partial_symtab::texthigh, and partial_symtab::textlow.
struct objfile* require_partial_symbols | ( | struct objfile * | objfile, |
int | verbose | ||
) | [read] |
Definition at line 78 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 1455 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, |
struct section_offsets * | section_offsets, | ||
const char * | filename, | ||
CORE_ADDR | textlow, | ||
struct partial_symbol ** | global_syms, | ||
struct partial_symbol ** | static_syms | ||
) | [read] |
Definition at line 1470 of file psymtab.c.
References allocate_psymtab(), objfile::global_psymbols, partial_symtab::globals_offset, psymbol_allocation_list::list, partial_symtab::section_offsets, 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().
Referenced by initialize_all_files().
{ objfile_has_psyms, find_last_source_symtab_from_partial, forget_cached_source_info_partial, partial_map_symtabs_matching_filename, lookup_symbol_aux_psymtabs, print_psymtab_stats_for_objfile, dump_psymtabs_for_objfile, relocate_psymtabs, read_symtabs_for_function, expand_partial_symbol_tables, read_psymtabs_with_fullname, map_matching_symbols_psymtab, expand_symtabs_matching_via_partial, find_pc_sect_symtab_from_partial, map_symbol_filenames_psymtab }