GDB (xrefs)
Classes | Defines | Functions | Variables
/home/stan/gdb/src/gdb/symtab.c File Reference
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcore.h"
#include "frame.h"
#include "target.h"
#include "value.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbcmd.h"
#include "gdb_regex.h"
#include "expression.h"
#include "language.h"
#include "demangle.h"
#include "inferior.h"
#include "source.h"
#include "filenames.h"
#include "objc-lang.h"
#include "d-lang.h"
#include "ada-lang.h"
#include "go-lang.h"
#include "p-lang.h"
#include "addrmap.h"
#include "cli/cli-utils.h"
#include "hashtab.h"
#include "gdb_obstack.h"
#include "block.h"
#include "dictionary.h"
#include <sys/types.h>
#include <fcntl.h>
#include "gdb_string.h"
#include "gdb_stat.h"
#include <ctype.h>
#include "cp-abi.h"
#include "cp-support.h"
#include "observer.h"
#include "gdb_assert.h"
#include "solist.h"
#include "macrotab.h"
#include "macroscope.h"
#include "psymtab.h"
#include "parser-defs.h"

Go to the source code of this file.

Classes

struct  demangled_name_entry
struct  global_sym_lookup_data
struct  filename_seen_cache
struct  output_source_filename_data
struct  search_symbols_data
struct  add_name_data
struct  add_partial_filename_data

Defines

#define JAVA_PREFIX   "##JAVA$$"
#define JAVA_PREFIX_LEN   8
#define INITIAL_FILENAME_SEEN_CACHE_SIZE   100
#define COMPLETION_LIST_ADD_SYMBOL(symbol, sym_text, len, text, word)
#define MAX_SYMBOL_IMPLS   (LOC_FINAL_VALUE + 10)

Functions

static void rbreak_command (char *, int)
static void types_info (char *, int)
static void functions_info (char *, int)
static void variables_info (char *, int)
static void sources_info (char *, int)
static int find_line_common (struct linetable *, int, int *, int)
static struct symbollookup_symbol_aux (const char *name, const struct block *block, const domain_enum domain, enum language language, struct field_of_this_result *is_a_field_of_this)
static struct symbollookup_symbol_aux_local (const char *name, const struct block *block, const domain_enum domain, enum language language)
static struct symbollookup_symbol_aux_symtabs (int block_index, const char *name, const domain_enum domain)
static struct symbollookup_symbol_aux_quick (struct objfile *objfile, int block_index, const char *name, const domain_enum domain)
void _initialize_symtab (void)
const char * multiple_symbols_select_mode (void)
const char * domain_name (domain_enum e)
const char * search_domain_name (enum search_domain e)
int compare_filenames_for_search (const char *filename, const char *search_name)
int iterate_over_some_symtabs (const char *name, const char *real_path, int(*callback)(struct symtab *symtab, void *data), void *data, struct symtab *first, struct symtab *after_last)
void iterate_over_symtabs (const char *name, int(*callback)(struct symtab *symtab, void *data), void *data)
static int lookup_symtab_callback (struct symtab *symtab, void *data)
struct symtablookup_symtab (const char *name)
char * gdb_mangle_name (struct type *type, int method_id, int signature_id)
static void symbol_init_cplus_specific (struct general_symbol_info *gsymbol, struct obstack *obstack)
void symbol_set_demangled_name (struct general_symbol_info *gsymbol, const char *name, struct obstack *obstack)
const char * symbol_get_demangled_name (const struct general_symbol_info *gsymbol)
void symbol_set_language (struct general_symbol_info *gsymbol, enum language language, struct obstack *obstack)
static hashval_t hash_demangled_name_entry (const void *data)
static int eq_demangled_name_entry (const void *a, const void *b)
static void create_demangled_names_hash (struct objfile *objfile)
static char * symbol_find_demangled_name (struct general_symbol_info *gsymbol, const char *mangled)
void symbol_set_names (struct general_symbol_info *gsymbol, const char *linkage_name, int len, int copy_name, struct objfile *objfile)
const char * symbol_natural_name (const struct general_symbol_info *gsymbol)
const char * symbol_demangled_name (const struct general_symbol_info *gsymbol)
const char * symbol_search_name (const struct general_symbol_info *gsymbol)
void init_sal (struct symtab_and_line *sal)
int matching_obj_sections (struct obj_section *obj_first, struct obj_section *obj_second)
struct symtabfind_pc_sect_symtab_via_partial (CORE_ADDR pc, struct obj_section *section)
void fixup_section (struct general_symbol_info *ginfo, CORE_ADDR addr, struct objfile *objfile)
struct symbolfixup_symbol_section (struct symbol *sym, struct objfile *objfile)
struct cleanupdemangle_for_lookup (const char *name, enum language lang, const char **result_name)
struct symbollookup_symbol_in_language (const char *name, const struct block *block, const domain_enum domain, enum language lang, struct field_of_this_result *is_a_field_of_this)
struct symbollookup_symbol (const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
struct symbollookup_language_this (const struct language_defn *lang, const struct block *block)
static int check_field (struct type *type, const char *name, struct field_of_this_result *is_a_field_of_this)
static struct symbollookup_symbol_aux (const char *name, const struct block *block, const domain_enum domain, enum language language, struct field_of_this_result *is_a_field_of_this)
struct symbollookup_static_symbol_aux (const char *name, const domain_enum domain)
static struct symbollookup_symbol_aux_local (const char *name, const struct block *block, const domain_enum domain, enum language language)
struct objfilelookup_objfile_from_block (const struct block *block)
struct symbollookup_symbol_aux_block (const char *name, const struct block *block, const domain_enum domain)
struct symbollookup_global_symbol_from_objfile (const struct objfile *main_objfile, const char *name, const domain_enum domain)
static struct symbollookup_symbol_aux_objfile (struct objfile *objfile, int block_index, const char *name, const domain_enum domain)
static struct symbollookup_symbol_in_objfile_from_linkage_name (struct objfile *objfile, const char *linkage_name, domain_enum domain)
static void ATTRIBUTE_NORETURN error_in_psymtab_expansion (int kind, const char *name, struct symtab *symtab)
struct symbolbasic_lookup_symbol_nonlocal (const char *name, const struct block *block, const domain_enum domain)
struct symbollookup_symbol_static (const char *name, const struct block *block, const domain_enum domain)
static int lookup_symbol_global_iterator_cb (struct objfile *objfile, void *cb_data)
struct symbollookup_symbol_global (const char *name, const struct block *block, const domain_enum domain)
int symbol_matches_domain (enum language symbol_language, domain_enum symbol_domain, domain_enum domain)
struct typelookup_transparent_type (const char *name)
static struct typebasic_lookup_transparent_type_quick (struct objfile *objfile, int kind, const char *name)
struct typebasic_lookup_transparent_type (const char *name)
struct symbollookup_block_symbol (const struct block *block, const char *name, const domain_enum domain)
void iterate_over_symbols (const struct block *block, const char *name, const domain_enum domain, symbol_found_callback_ftype *callback, void *data)
struct symtabfind_pc_sect_symtab (CORE_ADDR pc, struct obj_section *section)
struct symtabfind_pc_symtab (CORE_ADDR pc)
struct symtab_and_line find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
struct symtab_and_line find_pc_line (CORE_ADDR pc, int notcurrent)
struct symtabfind_line_symtab (struct symtab *symtab, int line, int *index, int *exact_match)
 VEC (CORE_ADDR)
int find_line_pc (struct symtab *symtab, int line, CORE_ADDR *pc)
int find_line_pc_range (struct symtab_and_line sal, CORE_ADDR *startptr, CORE_ADDR *endptr)
int find_pc_line_pc_range (CORE_ADDR pc, CORE_ADDR *startptr, CORE_ADDR *endptr)
static CORE_ADDR skip_prologue_using_lineinfo (CORE_ADDR func_addr, struct symtab *symtab)
struct symtab_and_line find_function_start_sal (struct symbol *sym, int funfirstline)
void skip_prologue_sal (struct symtab_and_line *sal)
static char * operator_chars (char *p, char **end)
static struct filename_seen_cachecreate_filename_seen_cache (void)
static void clear_filename_seen_cache (struct filename_seen_cache *cache)
static void delete_filename_seen_cache (void *ptr)
static int filename_seen (struct filename_seen_cache *cache, const char *file, int add)
static void output_source_filename (const char *name, struct output_source_filename_data *data)
static void output_partial_symbol_filename (const char *filename, const char *fullname, void *data)
static int file_matches (const char *file, char *files[], int nfiles, int basenames)
void free_search_symbols (struct symbol_search *symbols)
static void do_free_search_symbols_cleanup (void *symbolsp)
struct cleanupmake_cleanup_free_search_symbols (struct symbol_search **symbolsp)
static int compare_search_syms (const void *sa, const void *sb)
static void sort_search_symbols_remove_dups (struct symbol_search *found, int nfound, struct symbol_search **new_head, struct symbol_search **new_tail)
static int search_symbols_file_matches (const char *filename, void *user_data, int basenames)
static int search_symbols_name_matches (const char *symname, void *user_data)
void search_symbols (char *regexp, enum search_domain kind, int nfiles, char *files[], struct symbol_search **matches)
static void print_symbol_info (enum search_domain kind, struct symtab *s, struct symbol *sym, int block, const char *last)
static void print_msymbol_info (struct bound_minimal_symbol msymbol)
static void symtab_symbol_info (char *regexp, enum search_domain kind, int from_tty)
void rbreak_command_wrapper (char *regexp, int from_tty)
static void do_end_rbreak_breakpoints (void *ignore)
static int compare_symbol_name (const char *name, const char *sym_text, int sym_text_len)
static void free_completion_list (VEC(char_ptr)**list_ptr)
static void do_free_completion_list (void *list)
static VEC (char_ptr)
static void completion_list_objc_symbol (struct minimal_symbol *msymbol, const char *sym_text, int sym_text_len, const char *text, const char *word)
static const char * language_search_unquoted_string (const char *text, const char *p)
static void completion_list_add_fields (struct symbol *sym, const char *sym_text, int sym_text_len, const char *text, const char *word)
static void add_macro_name (const char *name, const struct macro_definition *ignore, struct macro_source_file *ignore2, int ignore3, void *user_data)
static int expand_partial_symbol_name (const char *name, void *user_data)
static void add_filename_to_list (const char *fname, const char *text, const char *word, VEC(char_ptr)**list)
static int not_interesting_fname (const char *fname)
static void maybe_add_partial_symtab_filename (const char *filename, const char *fullname, void *user_data)
int in_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR func_start)
CORE_ADDR skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr)
void set_main_name (const char *name)
static void find_main_name (void)
char * main_name (void)
static void symtab_observer_executable_changed (void)
int producer_is_realview (const char *producer)
 gdb_static_assert (MAX_SYMBOL_IMPLS<=(1<< SYMBOL_ACLASS_BITS))
int register_symbol_computed_impl (enum address_class aclass, const struct symbol_computed_ops *ops)
int register_symbol_block_impl (enum address_class aclass, const struct symbol_block_ops *ops)
int register_symbol_register_impl (enum address_class aclass, const struct symbol_register_ops *ops)
static void initialize_ordinary_address_classes (void)
void initialize_symbol (struct symbol *sym)
struct symbolallocate_symbol (struct objfile *objfile)
struct template_symbolallocate_template_symbol (struct objfile *objfile)

Variables

int symtab_create_debug = 0
int basenames_may_differ = 0
const char multiple_symbols_ask [] = "ask"
const char multiple_symbols_all [] = "all"
const char multiple_symbols_cancel [] = "cancel"
static const char *const multiple_symbols_modes []
static const char * multiple_symbols_mode = multiple_symbols_all
struct blockblock_found
static char * name_of_main
enum language language_of_main = language_unknown
static int next_aclass_value = LOC_FINAL_VALUE
static struct symbol_impl symbol_impl [MAX_SYMBOL_IMPLS]
struct symbol_implsymbol_impls = &symbol_impl[0]

Define Documentation

#define COMPLETION_LIST_ADD_SYMBOL (   symbol,
  sym_text,
  len,
  text,
  word 
)
Value:
completion_list_add_name \
        (SYMBOL_NATURAL_NAME (symbol), (sym_text), (len), (text), (word))

Definition at line 3123 of file symtab.c.

Referenced by create_filename_seen_cache().

#define JAVA_PREFIX   "##JAVA$$"

Definition at line 709 of file symtab.c.

Referenced by symbol_set_names().

#define JAVA_PREFIX_LEN   8

Definition at line 710 of file symtab.c.

Referenced by symbol_set_names().

#define MAX_SYMBOL_IMPLS   (LOC_FINAL_VALUE + 10)

Function Documentation

void _initialize_symtab ( void  )
static void add_filename_to_list ( const char *  fname,
const char *  text,
const char *  word,
VEC(char_ptr)**  list 
) [static]

Definition at line 4617 of file symtab.c.

References VEC_safe_push, word, and xmalloc().

Referenced by maybe_add_partial_symtab_filename().

static void add_macro_name ( const char *  name,
const struct macro_definition ignore,
struct macro_source_file ignore2,
int  ignore3,
void *  user_data 
) [static]
struct symbol* allocate_symbol ( struct objfile objfile) [read]
struct template_symbol* allocate_template_symbol ( struct objfile objfile) [read]

Definition at line 5202 of file symtab.c.

References template_symbol::base, objfile::objfile_obstack, OBSTACK_ZALLOC, and SYMBOL_SECTION.

Referenced by read_func_scope().

struct symbol* basic_lookup_symbol_nonlocal ( const char *  name,
const struct block block,
const domain_enum  domain 
) [read]

Definition at line 1724 of file symtab.c.

References lookup_symbol_global(), and lookup_symbol_static().

struct type* basic_lookup_transparent_type ( const char *  name) [read]
static struct type* basic_lookup_transparent_type_quick ( struct objfile objfile,
int  kind,
const char *  name 
) [static, read]
static int check_field ( struct type type,
const char *  name,
struct field_of_this_result is_a_field_of_this 
) [static]
static void clear_filename_seen_cache ( struct filename_seen_cache cache) [static]

Definition at line 3144 of file symtab.c.

References filename_seen_cache::tab.

Referenced by sources_info().

int compare_filenames_for_search ( const char *  filename,
const char *  search_name 
)
static int compare_search_syms ( const void *  sa,
const void *  sb 
) [static]
static int compare_symbol_name ( const char *  name,
const char *  sym_text,
int  sym_text_len 
) [static]

Definition at line 3983 of file symtab.c.

References case_sensitive_on, and int.

Referenced by expand_partial_symbol_name(), and VEC().

static void completion_list_add_fields ( struct symbol sym,
const char *  sym_text,
int  sym_text_len,
const char *  text,
const char *  word 
) [static]
static void completion_list_objc_symbol ( struct minimal_symbol msymbol,
const char *  sym_text,
int  sym_text_len,
const char *  text,
const char *  word 
) [static]

Definition at line 4083 of file symtab.c.

References memcpy(), selector, strchr(), SYMBOL_NATURAL_NAME, and xrealloc().

static void create_demangled_names_hash ( struct objfile objfile) [static]
static struct filename_seen_cache* create_filename_seen_cache ( void  ) [static, read]

Definition at line 3129 of file symtab.c.

References INITIAL_FILENAME_SEEN_CACHE_SIZE, filename_seen_cache::tab, xcalloc(), and xfree().

Referenced by sources_info().

static void delete_filename_seen_cache ( void *  ptr) [static]

Definition at line 3153 of file symtab.c.

References filename_seen_cache::tab, and xfree().

Referenced by sources_info().

struct cleanup* demangle_for_lookup ( const char *  name,
enum language  lang,
const char **  result_name 
) [read]
static void do_end_rbreak_breakpoints ( void *  ignore) [static]

Definition at line 3882 of file symtab.c.

References end_rbreak_breakpoints().

Referenced by rbreak_command().

static void do_free_completion_list ( void *  list) [static]

Definition at line 4023 of file symtab.c.

References free_completion_list().

static void do_free_search_symbols_cleanup ( void *  symbolsp) [static]

Definition at line 3317 of file symtab.c.

References free_search_symbols().

Referenced by make_cleanup_free_search_symbols().

static int eq_demangled_name_entry ( const void *  a,
const void *  b 
) [static]

Definition at line 575 of file symtab.c.

References demangled_name_entry::mangled.

Referenced by create_demangled_names_hash().

static void ATTRIBUTE_NORETURN error_in_psymtab_expansion ( int  kind,
const char *  name,
struct symtab symtab 
) [static]
static int expand_partial_symbol_name ( const char *  name,
void *  user_data 
) [static]
static int file_matches ( const char *  file,
char *  files[],
int  nfiles,
int  basenames 
) [static]

Definition at line 3282 of file symtab.c.

References compare_filenames_for_search().

Referenced by search_symbols(), and search_symbols_file_matches().

static int filename_seen ( struct filename_seen_cache cache,
const char *  file,
int  add 
) [static]

Definition at line 3169 of file symtab.c.

References filename_seen_cache::tab.

Referenced by maybe_add_partial_symtab_filename(), and output_source_filename().

struct symtab_and_line find_function_start_sal ( struct symbol sym,
int  funfirstline 
) [read]
static int find_line_common ( struct linetable l,
int  lineno,
int exact_match,
int  start 
) [static]

Definition at line 2678 of file symtab.c.

References linetable::item, len, linetable_entry::line, and linetable::nitems.

Referenced by find_line_symtab(), and VEC().

int find_line_pc ( struct symtab symtab,
int  line,
CORE_ADDR pc 
)
int find_line_pc_range ( struct symtab_and_line  sal,
CORE_ADDR startptr,
CORE_ADDR endptr 
)
struct symtab* find_line_symtab ( struct symtab symtab,
int  line,
int index,
int exact_match 
) [read]
static void find_main_name ( void  ) [static]

Definition at line 4978 of file symtab.c.

References ada_main_name(), go_main_name(), pascal_main_name(), and set_main_name().

Referenced by main_name().

struct symtab_and_line find_pc_line ( CORE_ADDR  pc,
int  notcurrent 
) [read]

Definition at line 2458 of file symtab.c.

References find_pc_overlay(), find_pc_sect_line(), overlay_mapped_address(), symtab_and_line::pc, pc_in_unmapped_range(), and symtab_and_line::section.

Referenced by aarch64_scan_prologue(), after_prologue(), alpha_after_prologue(), arm_linux_copy_svc(), c_parse(), call0_analyze_prologue(), convert_linespec_to_sals(), cris_skip_prologue(), decode_static_tracepoint_spec(), default_macro_scope(), do_mixed_source_and_assembly(), elf_gnu_ifunc_resolver_return_stop(), find_frame_sal(), find_last_line_symbol(), find_pc_line_pc_range(), find_pc_sect_line(), finish_backward(), finish_forward(), frv_skip_prologue(), gdb_disassemble_driver(), gdb_get_breakpoint_info(), gdb_get_tracepoint_info(), gdb_loc(), h8300_skip_prologue(), handle_inferior_event(), handle_step_into_function(), handle_step_into_function_backward(), in_prologue(), info_checkpoints_command(), iq2000_skip_prologue(), m32r_skip_prologue(), m68hc11_skip_prologue(), m88k_skip_prologue(), microblaze_skip_prologue(), moxie_skip_prologue(), mt_skip_prologue(), parse_breakpoint_sals(), print_one_static_tracepoint_marker(), refine_prologue_limit(), save_bookmark_command(), set_momentary_breakpoint_at_pc(), set_traceframe_context(), skip_prologue(), skip_prologue_using_sal(), sparc32_skip_prologue(), sparc64_skip_prologue(), trace_find_line_command(), tui_display_main(), tui_show_disassem_and_update_source(), tui_update_source_windows_with_addr(), until_break_command(), until_next_command(), update_static_tracepoint(), v850_skip_prologue(), VEC(), xstormy16_skip_prologue(), and xtensa_skip_prologue().

int find_pc_line_pc_range ( CORE_ADDR  pc,
CORE_ADDR startptr,
CORE_ADDR endptr 
)

Definition at line 2722 of file symtab.c.

References find_pc_line().

Referenced by step_once().

struct symtab_and_line find_pc_sect_line ( CORE_ADDR  pc,
struct obj_section section,
int  notcurrent 
) [read]
struct symtab* find_pc_sect_symtab ( CORE_ADDR  pc,
struct obj_section section 
) [read]
struct symtab* find_pc_sect_symtab_via_partial ( CORE_ADDR  pc,
struct obj_section section 
) [read]
struct symtab* find_pc_symtab ( CORE_ADDR  pc) [read]
void fixup_section ( struct general_symbol_info ginfo,
CORE_ADDR  addr,
struct objfile objfile 
)
struct symbol* fixup_symbol_section ( struct symbol sym,
struct objfile objfile 
) [read]
static void free_completion_list ( VEC(char_ptr)**  list_ptr) [static]

Definition at line 4010 of file symtab.c.

References p, VEC_free, VEC_iterate, and xfree().

Referenced by do_free_completion_list().

void free_search_symbols ( struct symbol_search symbols)

Definition at line 3304 of file symtab.c.

References symbol_search::next, p, and xfree().

Referenced by do_free_search_symbols_cleanup().

static void functions_info ( char *  regexp,
int  from_tty 
) [static]

Definition at line 3859 of file symtab.c.

References FUNCTIONS_DOMAIN, and symtab_symbol_info().

char* gdb_mangle_name ( struct type type,
int  method_id,
int  signature_id 
)
gdb_static_assert ( MAX_SYMBOL_IMPLS<=  1<< SYMBOL_ACLASS_BITS)
static hashval_t hash_demangled_name_entry ( const void *  data) [static]

Definition at line 565 of file symtab.c.

References demangled_name_entry::mangled.

Referenced by create_demangled_names_hash().

int in_prologue ( struct gdbarch gdbarch,
CORE_ADDR  pc,
CORE_ADDR  func_start 
)
void init_sal ( struct symtab_and_line sal)
static void initialize_ordinary_address_classes ( void  ) [static]

Definition at line 5165 of file symtab.c.

References symbol_impl::aclass, and LOC_FINAL_VALUE.

void initialize_symbol ( struct symbol sym)

Definition at line 5178 of file symtab.c.

References memset(), and SYMBOL_SECTION.

Referenced by process_xcoff_symbol().

int iterate_over_some_symtabs ( const char *  name,
const char *  real_path,
int(*)(struct symtab *symtab, void *data)  callback,
void *  data,
struct symtab first,
struct symtab after_last 
)
void iterate_over_symbols ( const struct block block,
const char *  name,
const domain_enum  domain,
symbol_found_callback_ftype callback,
void *  data 
)
void iterate_over_symtabs ( const char *  name,
int(*)(struct symtab *symtab, void *data)  callback,
void *  data 
)
static const char* language_search_unquoted_string ( const char *  text,
const char *  p 
) [static]

Definition at line 4143 of file symtab.c.

References current_language, language_defn::la_language, and language_objc.

struct symbol* lookup_block_symbol ( const struct block block,
const char *  name,
const domain_enum  domain 
) [read]
struct symbol* lookup_global_symbol_from_objfile ( const struct objfile main_objfile,
const char *  name,
const domain_enum  domain 
) [read]
struct symbol* lookup_language_this ( const struct language_defn lang,
const struct block block 
) [read]
struct objfile* lookup_objfile_from_block ( const struct block block) [read]
struct symbol* lookup_static_symbol_aux ( const char *  name,
const domain_enum  domain 
) [read]
struct symbol* lookup_symbol ( const char *  name,
const struct block block,
domain_enum  domain,
struct field_of_this_result is_a_field_of_this 
) [read]
static struct symbol* lookup_symbol_aux ( const char *  name,
const struct block block,
const domain_enum  domain,
enum language  language,
struct field_of_this_result is_a_field_of_this 
) [static, read]
static struct symbol* lookup_symbol_aux ( const char *  name,
const struct block block,
const domain_enum  domain,
enum language  language,
struct field_of_this_result is_a_field_of_this 
) [static, read]
struct symbol* lookup_symbol_aux_block ( const char *  name,
const struct block block,
const domain_enum  domain 
) [read]
static struct symbol* lookup_symbol_aux_local ( const char *  name,
const struct block block,
const domain_enum  domain,
enum language  language 
) [static, read]

Referenced by lookup_symbol_aux().

static struct symbol* lookup_symbol_aux_local ( const char *  name,
const struct block block,
const domain_enum  domain,
enum language  language 
) [static, read]
static struct symbol* lookup_symbol_aux_objfile ( struct objfile objfile,
int  block_index,
const char *  name,
const domain_enum  domain 
) [static, read]
static struct symbol * lookup_symbol_aux_quick ( struct objfile objfile,
int  block_index,
const char *  name,
const domain_enum  domain 
) [static, read]
static struct symbol * lookup_symbol_aux_symtabs ( int  block_index,
const char *  name,
const domain_enum  domain 
) [static, read]

Definition at line 1621 of file symtab.c.

References ALL_OBJFILES, and lookup_symbol_aux_objfile().

Referenced by lookup_static_symbol_aux().

struct symbol* lookup_symbol_global ( const char *  name,
const struct block block,
const domain_enum  domain 
) [read]
static int lookup_symbol_global_iterator_cb ( struct objfile objfile,
void *  cb_data 
) [static]
struct symbol* lookup_symbol_in_language ( const char *  name,
const struct block block,
const domain_enum  domain,
enum language  lang,
struct field_of_this_result is_a_field_of_this 
) [read]
static struct symbol* lookup_symbol_in_objfile_from_linkage_name ( struct objfile objfile,
const char *  linkage_name,
domain_enum  domain 
) [static, read]
struct symbol* lookup_symbol_static ( const char *  name,
const struct block block,
const domain_enum  domain 
) [read]
struct symtab* lookup_symtab ( const char *  name) [read]
static int lookup_symtab_callback ( struct symtab symtab,
void *  data 
) [static]

Definition at line 342 of file symtab.c.

References result_ptr.

Referenced by lookup_symtab().

struct type* lookup_transparent_type ( const char *  name) [read]

Definition at line 1876 of file symtab.c.

References current_language, and language_defn::la_lookup_transparent_type.

Referenced by check_typedef().

char* main_name ( void  )
struct cleanup* make_cleanup_free_search_symbols ( struct symbol_search **  symbolsp) [read]
int matching_obj_sections ( struct obj_section obj_first,
struct obj_section obj_second 
)
static void maybe_add_partial_symtab_filename ( const char *  filename,
const char *  fullname,
void *  user_data 
) [static]

Definition at line 135 of file symtab.c.

References multiple_symbols_mode.

Referenced by decode_line_full(), and user_select_syms().

static int not_interesting_fname ( const char *  fname) [static]

Definition at line 4647 of file symtab.c.

Referenced by maybe_add_partial_symtab_filename().

static char* operator_chars ( char *  p,
char **  end 
) [static]

Definition at line 2983 of file symtab.c.

References _, and error().

Referenced by search_symbols().

static void output_partial_symbol_filename ( const char *  filename,
const char *  fullname,
void *  data 
) [static]

Definition at line 3232 of file symtab.c.

References output_source_filename().

Referenced by sources_info().

static void output_source_filename ( const char *  name,
struct output_source_filename_data data 
) [static]
static void print_msymbol_info ( struct bound_minimal_symbol  msymbol) [static]
static void print_symbol_info ( enum search_domain  kind,
struct symtab s,
struct symbol sym,
int  block,
const char *  last 
) [static]
int producer_is_realview ( const char *  producer)

Definition at line 5046 of file symtab.c.

Referenced by dwarf2_frame_find_quirks(), prototyped_function_p(), and read_structure_type().

static void rbreak_command ( char *  regexp,
int  from_tty 
) [static]
void rbreak_command_wrapper ( char *  regexp,
int  from_tty 
)

Definition at line 3874 of file symtab.c.

References rbreak_command().

int register_symbol_block_impl ( enum address_class  aclass,
const struct symbol_block_ops ops 
)
void search_symbols ( char *  regexp,
enum search_domain  kind,
int  nfiles,
char *  files[],
struct symbol_search **  matches 
)

Definition at line 3452 of file symtab.c.

References _, ALL_BLOCK_SYMBOLS, ALL_MSYMBOLS, ALL_OBJFILES, ALL_PRIMARY_SYMTABS, basenames_may_differ, symbol_search::block, BLOCKVECTOR, BLOCKVECTOR_BLOCK, case_sensitive_off, minimal_symbol::created_by_gdb, discard_cleanups(), do_cleanups(), error(), quick_symbol_functions::expand_symtabs_matching, file_matches(), symtab::filename, search_symbols_data::files, find_pc_symtab(), FUNCTIONS_DOMAIN, gdb_assert, get_regcomp_error(), GLOBAL_BLOCK, LOC_BLOCK, LOC_CONST, LOC_TYPEDEF, LOC_UNRESOLVED, lookup_symbol_in_objfile_from_linkage_name(), make_cleanup(), make_cleanup_free_search_symbols(), make_regfree_cleanup(), memset(), bound_minimal_symbol::minsym, mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, symbol_search::msymbol, MSYMBOL_TYPE, symbol_search::next, search_symbols_data::nfiles, null_cleanup(), bound_minimal_symbol::objfile, operator_chars(), search_symbols_data::preg, search_symbols_data::preg_p, sym_fns::qf, QUIT, search_symbols_file_matches(), search_symbols_name_matches(), objfile::sf, sort_search_symbols_remove_dups(), STATIC_BLOCK, symbol_search::symbol, SYMBOL_CLASS, SYMBOL_LINKAGE_NAME, SYMBOL_NATURAL_NAME, SYMBOL_SYMTAB, SYMBOL_TYPE, SYMBOL_VALUE_ADDRESS, symbol_search::symtab, symtab_to_fullname(), TYPE_CODE, TYPE_CODE_ENUM, TYPES_DOMAIN, VAR_DOMAIN, VARIABLES_DOMAIN, xfree(), and xmalloc().

Referenced by gdb_search(), rbreak_command(), and symtab_symbol_info().

static int search_symbols_file_matches ( const char *  filename,
void *  user_data,
int  basenames 
) [static]

Definition at line 3417 of file symtab.c.

References file_matches(), search_symbols_data::files, and search_symbols_data::nfiles.

Referenced by search_symbols().

static int search_symbols_name_matches ( const char *  symname,
void *  user_data 
) [static]

Definition at line 3428 of file symtab.c.

References search_symbols_data::preg, and search_symbols_data::preg_p.

Referenced by search_symbols().

void set_main_name ( const char *  name)
void skip_prologue_sal ( struct symtab_and_line sal)
static CORE_ADDR skip_prologue_using_lineinfo ( CORE_ADDR  func_addr,
struct symtab symtab 
) [static]
CORE_ADDR skip_prologue_using_sal ( struct gdbarch gdbarch,
CORE_ADDR  func_addr 
)
static void sort_search_symbols_remove_dups ( struct symbol_search found,
int  nfound,
struct symbol_search **  new_head,
struct symbol_search **  new_tail 
) [static]
static void sources_info ( char *  ignore,
int  from_tty 
) [static]
static char* symbol_find_demangled_name ( struct general_symbol_info gsymbol,
const char *  mangled 
) [static]
static void symbol_init_cplus_specific ( struct general_symbol_info gsymbol,
struct obstack *  obstack 
) [static]
int symbol_matches_domain ( enum language  symbol_language,
domain_enum  symbol_domain,
domain_enum  domain 
)
const char* symbol_natural_name ( const struct general_symbol_info gsymbol)
const char* symbol_search_name ( const struct general_symbol_info gsymbol)

Definition at line 915 of file symtab.c.

References language_ada, general_symbol_info::name, and symbol_natural_name().

void symbol_set_demangled_name ( struct general_symbol_info gsymbol,
const char *  name,
struct obstack *  obstack 
)
void symbol_set_language ( struct general_symbol_info gsymbol,
enum language language  ,
struct obstack *  obstack 
)
void symbol_set_names ( struct general_symbol_info gsymbol,
const char *  linkage_name,
int  len,
int  copy_name,
struct objfile objfile 
)
static void symtab_observer_executable_changed ( void  ) [static]

Definition at line 5036 of file symtab.c.

References set_main_name().

static void symtab_symbol_info ( char *  regexp,
enum search_domain  kind,
int  from_tty 
) [static]
static void types_info ( char *  regexp,
int  from_tty 
) [static]

Definition at line 3866 of file symtab.c.

References symtab_symbol_info(), and TYPES_DOMAIN.

static void variables_info ( char *  regexp,
int  from_tty 
) [static]

Definition at line 3853 of file symtab.c.

References symtab_symbol_info(), and VARIABLES_DOMAIN.

VEC ( CORE_ADDR  )
static VEC ( char_ptr  ) [static]

Definition at line 4030 of file symtab.c.

References compare_symbol_name(), VEC_safe_push, word, and xmalloc().


Variable Documentation

struct block* block_found

Definition at line 144 of file symtab.c.

Referenced by push_variable(), standard_lookup(), and write_dollar_variable().

Definition at line 4956 of file symtab.c.

Referenced by read_partial_die(), and set_initial_language().

const char multiple_symbols_all[] = "all"
const char multiple_symbols_ask[] = "ask"

Definition at line 120 of file symtab.c.

Referenced by decode_line_full().

const char multiple_symbols_cancel[] = "cancel"

Definition at line 122 of file symtab.c.

Referenced by decode_line_2(), decode_line_full(), and user_select_syms().

Definition at line 130 of file symtab.c.

Referenced by multiple_symbols_select_mode().

Initial value:

Definition at line 123 of file symtab.c.

char* name_of_main [static]

Definition at line 4955 of file symtab.c.

Referenced by main_name().

Definition at line 5072 of file symtab.c.

Definition at line 5082 of file symtab.c.

Definition at line 5087 of file symtab.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines