GDB (xrefs)

Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/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 "fnmatch.h"`
`#include "hashtab.h"`
`#include "gdb_obstack.h"`
`#include "block.h"`
`#include "dictionary.h"`
`#include <sys/types.h>`
`#include <fcntl.h>`
`#include <sys/stat.h>`
`#include <ctype.h>`
`#include "cp-abi.h"`
`#include "cp-support.h"`
`#include "observer.h"`
`#include "solist.h"`
`#include "macrotab.h"`
`#include "macroscope.h"`
`#include "parser-defs.h"`
`#include "completer.h"`
`#include "progspace-and-thread.h"`
`#include "common/gdb_optional.h"`
`#include "filename-seen-cache.h"`
`#include "arch-utils.h"`
`#include <algorithm>`

Go to the source code of this file.

## Classes
struct | main_info
struct | symbol_cache_slot
struct | block_symbol_cache
struct | symbol_cache
struct | demangled_name_entry
struct | global_sym_lookup_data
struct | output_source_filename_data
struct | add_partial_filename_data

## Macros
#define | DEFAULT_SYMBOL_CACHE_SIZE 1021
#define | MAX_SYMBOL_CACHE_SIZE (1024*1024)
#define | SYMBOL_LOOKUP_FAILED ((struct block_symbol) {(struct symbol *) 1, NULL})
#define | SYMBOL_LOOKUP_FAILED_P(SIB) (SIB.symbol == (struct symbol *) 1)
#define | MAX_SYMBOL_IMPLS (LOC_FINAL_VALUE + 10)

## Enumerations
enum | symbol_cache_slot_state { SYMBOL_SLOT_UNUSED, SYMBOL_SLOT_NOT_FOUND, SYMBOL_SLOT_FOUND }

## Functions
static void | rbreak_command (const char *, int)
static int | find_line_common (struct linetable *, int, int *, int)
static struct block_symbol | lookup_symbol_aux (const char *name, symbol_name_match_type match_type, const struct block *block, const domain_enum domain, enum language language, struct field_of_this_result *)
static struct block_symbol | lookup_local_symbol (const char *name, symbol_name_match_type match_type, const struct block *block, const domain_enum domain, enum language language)
static struct block_symbol | lookup_symbol_in_objfile (struct objfile *objfile, int block_index, const char *name, const domain_enum domain)
const char * | multiple_symbols_select_mode (void)
const char * | domain_name (domain_enum e)
const char * | search_domain_name (enum search_domain e)
struct symtab * | compunit_primary_filetab (const struct compunit_symtab *cust)
enum language | compunit_language (const struct compunit_symtab *cust)
int | compare_filenames_for_search (const char *filename, const char *search_name)
int | compare_glob_filenames_for_search (const char *filename, const char *search_name)
bool | iterate_over_some_symtabs (const char *name, const char *real_path, struct compunit_symtab *first, struct compunit_symtab *after_last, gdb::function_view< bool(symtab *)> callback)
void | iterate_over_symtabs (const char *name, gdb::function_view< bool(symtab *)> callback)
struct symtab * | lookup_symtab (const char *name)
char * | gdb_mangle_name (struct type *type, int method_id, int signature_id)
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)
bool | symbol_matches_search_name (const struct general_symbol_info *gsymbol, const lookup_name_info &name)
int | matching_obj_sections (struct obj_section *obj_first, struct obj_section *obj_second)
void | expand_symtab_containing_pc (CORE_ADDR pc, struct obj_section *section)
static unsigned int | hash_symbol_entry (const struct objfile *objfile_context, const char *name, domain_enum domain)
static int | eq_symbol_entry (const struct symbol_cache_slot *slot, const struct objfile *objfile_context, const char *name, domain_enum domain)
static size_t | symbol_cache_byte_size (unsigned int size)
static void | resize_symbol_cache (struct symbol_cache *cache, unsigned int new_size)
static struct symbol_cache * | make_symbol_cache (unsigned int size)
static void | free_symbol_cache (struct symbol_cache *cache)
static struct symbol_cache * | get_symbol_cache (struct program_space *pspace)
static void | symbol_cache_cleanup (struct program_space *pspace, void *data)
static void | set_symbol_cache_size (unsigned int new_size)
static void | set_symbol_cache_size_handler (const char *args, int from_tty, struct cmd_list_element *c)
static struct block_symbol | symbol_cache_lookup (struct symbol_cache *cache, struct objfile *objfile_context, int block, const char *name, domain_enum domain, struct block_symbol_cache **bsc_ptr, struct symbol_cache_slot **slot_ptr)
static void | symbol_cache_clear_slot (struct symbol_cache_slot *slot)
static void | symbol_cache_mark_found (struct block_symbol_cache *bsc, struct symbol_cache_slot *slot, struct objfile *objfile_context, struct symbol *symbol, const struct block *block)
static void | symbol_cache_mark_not_found (struct block_symbol_cache *bsc, struct symbol_cache_slot *slot, struct objfile *objfile_context, const char *name, domain_enum domain)
static void | symbol_cache_flush (struct program_space *pspace)
static void | symbol_cache_dump (const struct symbol_cache *cache)
static void | maintenance_print_symbol_cache (const char *args, int from_tty)
static void | maintenance_flush_symbol_cache (const char *args, int from_tty)
static void | symbol_cache_stats (struct symbol_cache *cache)
static void | maintenance_print_symbol_cache_statistics (const char *args, int from_tty)
static void | symtab_new_objfile_observer (struct objfile *objfile)
static void | symtab_free_objfile_observer (struct objfile *objfile)
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)
const char * | demangle_for_lookup (const char *name, enum language lang, demangle_result_storage &storage)
unsigned int | search_name_hash (enum language language, const char *search_name)
struct block_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)
struct block_symbol | lookup_symbol (const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
struct block_symbol | lookup_symbol_search_name (const char *search_name, const struct block *block, domain_enum domain)
struct block_symbol | lookup_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 block_symbol | lookup_symbol_aux (const char *name, symbol_name_match_type match_type, const struct block *block, const domain_enum domain, enum language language, struct field_of_this_result *is_a_field_of_this)
static struct block_symbol | lookup_local_symbol (const char *name, symbol_name_match_type match_type, const struct block *block, const domain_enum domain, enum language language)
struct objfile * | lookup_objfile_from_block (const struct block *block)
struct symbol * | lookup_symbol_in_block (const char *name, symbol_name_match_type match_type, const struct block *block, const domain_enum domain)
struct block_symbol | lookup_global_symbol_from_objfile (struct objfile *main_objfile, const char *name, const domain_enum domain)
static struct block_symbol | lookup_symbol_in_objfile_symtabs (struct objfile *objfile, int block_index, const char *name, const domain_enum domain)
static struct block_symbol | lookup_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 block_index, const char *name, struct compunit_symtab *cust)
static struct block_symbol | lookup_symbol_via_quick_fns (struct objfile *objfile, int block_index, const char *name, const domain_enum domain)
struct block_symbol | basic_lookup_symbol_nonlocal (const struct language_defn *langdef, const char *name, const struct block *block, const domain_enum domain)
struct block_symbol | lookup_symbol_in_static_block (const char *name, const struct block *block, const domain_enum domain)
struct block_symbol | lookup_static_symbol (const char *name, const domain_enum domain)
static int | lookup_symbol_global_iterator_cb (struct objfile *objfile, void *cb_data)
struct block_symbol | lookup_global_symbol (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 type * | lookup_transparent_type (const char *name)
static struct type * | basic_lookup_transparent_type_quick (struct objfile *objfile, int block_index, const char *name)
static struct type * | basic_lookup_transparent_type_1 (struct objfile *objfile, int block_index, const char *name)
struct type * | basic_lookup_transparent_type (const char *name)
void | iterate_over_symbols (const struct block *block, const lookup_name_info &name, const domain_enum domain, gdb::function_view< symbol_found_callback_ftype > callback)
struct compunit_symtab * | find_pc_sect_compunit_symtab (CORE_ADDR pc, struct obj_section *section)
struct compunit_symtab * | find_pc_compunit_symtab (CORE_ADDR pc)
struct symbol * | find_symbol_at_address (CORE_ADDR address)
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 symtab * | find_pc_line_symtab (CORE_ADDR pc)
struct symtab * | find_line_symtab (struct symtab *symtab, int line, int *index, int *exact_match)
std::vector< CORE_ADDR > | find_pcs_for_symtab_line (struct symtab *symtab, int line, struct linetable_entry **best_item)
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)
struct symtab_and_line | find_function_start_sal (struct symbol *sym, int funfirstline)
static CORE_ADDR | skip_prologue_using_lineinfo (CORE_ADDR func_addr, struct symtab *symtab)
void | skip_prologue_sal (struct symtab_and_line *sal)
CORE_ADDR | skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr)
symbol * | find_function_alias_target (bound_minimal_symbol msymbol)
static const char * | operator_chars (const char *p, const char **end)
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 void | info_sources_command (const char *ignore, int from_tty)
static int | file_matches (const char *file, const char *files[], int nfiles, int basenames)
static void | sort_search_symbols_remove_dups (std::vector< symbol_search > *result)
std::vector< symbol_search > | search_symbols (const char *regexp, enum search_domain kind, int nfiles, const char *files[])
static void | print_symbol_info (enum search_domain kind, struct symbol *sym, int block, const char *last)
static void | print_msymbol_info (struct bound_minimal_symbol msymbol)
static void | symtab_symbol_info (const char *regexp, enum search_domain kind, int from_tty)
static void | info_variables_command (const char *regexp, int from_tty)
static void | info_functions_command (const char *regexp, int from_tty)
static void | info_types_command (const char *regexp, int from_tty)
void | rbreak_command_wrapper (char *regexp, int from_tty)
static int | compare_symbol_name (const char *symbol_name, language symbol_language, const lookup_name_info &lookup_name, completion_match_result &match_res)
void | completion_list_add_name (completion_tracker &tracker, language symbol_language, const char *symname, const lookup_name_info &lookup_name, const char *text, const char *word)
static void | completion_list_add_symbol (completion_tracker &tracker, symbol *sym, const lookup_name_info &lookup_name, const char *text, const char *word)
static void | completion_list_add_msymbol (completion_tracker &tracker, minimal_symbol *sym, const lookup_name_info &lookup_name, const char *text, const char *word)
static void | completion_list_objc_symbol (completion_tracker &tracker, struct minimal_symbol *msymbol, const lookup_name_info &lookup_name, 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 (completion_tracker &tracker, struct symbol *sym, const lookup_name_info &lookup_name, const char *text, const char *word)
bool | symbol_is_function_or_method (symbol *sym)
bool | symbol_is_function_or_method (minimal_symbol *msymbol)
static void | add_symtab_completions (struct compunit_symtab *cust, completion_tracker &tracker, complete_symbol_mode mode, const lookup_name_info &lookup_name, const char *text, const char *word, enum type_code code)
void | default_collect_symbol_completion_matches_break_on (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word, const char *break_on, enum type_code code)
void | default_collect_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word, enum type_code code)
void | collect_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word)
void | collect_symbol_completion_matches_type (completion_tracker &tracker, const char *text, const char *word, enum type_code code)
void | collect_file_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word, const char *srcfile)
static void | add_filename_to_list (const char *fname, const char *text, const char *word, completion_list *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)
completion_list | make_source_files_completion_list (const char *text, const char *word)
static struct main_info * | get_main_info (void)
static void | main_info_cleanup (struct program_space *pspace, void *data)
static void | set_main_name (const char *name, enum language lang)
static void | find_main_name (void)
char * | main_name (void)
enum language | main_language (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)
static void | initialize_objfile_symbol_1 (struct symbol *sym)
void | initialize_objfile_symbol (struct symbol *sym)
struct symbol * | allocate_symbol (struct objfile *objfile)
struct template_symbol * | allocate_template_symbol (struct objfile *objfile)
struct objfile * | symbol_objfile (const struct symbol *symbol)
struct gdbarch * | symbol_arch (const struct symbol *symbol)
struct symtab * | symbol_symtab (const struct symbol *symbol)
void | symbol_set_symtab (struct symbol *symbol, struct symtab *symtab)
void | _initialize_symtab (void)

## Variables
const struct block_symbol | null_block_symbol = { NULL, NULL }
static const struct program_space_data * | main_progspace_key
static const struct program_space_data * | symbol_cache_key
unsigned int | symtab_create_debug = 0
unsigned int | symbol_lookup_debug = 0
static unsigned int | new_symbol_cache_size = DEFAULT_SYMBOL_CACHE_SIZE
static unsigned int | symbol_cache_size = DEFAULT_SYMBOL_CACHE_SIZE
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
static int | next_aclass_value = LOC_FINAL_VALUE
static struct symbol_impl | symbol_impl [MAX_SYMBOL_IMPLS]
const struct symbol_impl * | symbol_impls = &symbol_impl[0]

## Macro Definition Documentation

## ◆ DEFAULT_SYMBOL_CACHE_SIZE

#define DEFAULT_SYMBOL_CACHE_SIZE 1021

Definition at line 124 of file symtab.c.

## ◆ MAX_SYMBOL_CACHE_SIZE

#define MAX_SYMBOL_CACHE_SIZE (1024*1024)

Definition at line 129 of file symtab.c.

Referenced by set_symbol_cache_size_handler().

## ◆ MAX_SYMBOL_IMPLS

#define MAX_SYMBOL_IMPLS (LOC_FINAL_VALUE + 10)

Definition at line 5635 of file symtab.c.

Referenced by register_symbol_block_impl(), register_symbol_computed_impl(), and register_symbol_register_impl().

## ◆ SYMBOL_LOOKUP_FAILED

#define SYMBOL_LOOKUP_FAILED ((struct block_symbol) {(struct symbol *) 1, NULL})

Definition at line 133 of file symtab.c.

Referenced by symbol_cache_lookup().

## ◆ SYMBOL_LOOKUP_FAILED_P

#define SYMBOL_LOOKUP_FAILED_P | ( |  | SIB | ) | (SIB.symbol == (struct symbol *) 1)

Definition at line 135 of file symtab.c.

Referenced by lookup_global_symbol(), and lookup_static_symbol().

## Enumeration Type Documentation

## ◆ symbol_cache_slot_state

enum symbol_cache_slot_state

Enumerator
SYMBOL_SLOT_UNUSED |
SYMBOL_SLOT_NOT_FOUND |
SYMBOL_SLOT_FOUND |

Definition at line 140 of file symtab.c.

## Function Documentation

## ◆ _initialize_symtab()

void _initialize_symtab | ( | void |  | ) |

Definition at line 5821 of file symtab.c.

References _, add_cmd(), add_com(), add_info(), add_setshow_boolean_cmd(), add_setshow_enum_cmd(), add_setshow_zuinteger_cmd(), basenames_may_differ, class_breakpoint, class_info, class_maintenance, class_obscure, dbx_commands, info_functions_command(), info_sources_command(), info_types_command(), info_variables_command(), initialize_ordinary_address_classes(), main_info_cleanup(), main_progspace_key, maintenance_flush_symbol_cache(), maintenance_print_symbol_cache(), maintenance_print_symbol_cache_statistics(), maintenance_set_cmdlist, maintenance_show_cmdlist, maintenancelist, maintenanceprintlist, multiple_symbols_mode, multiple_symbols_modes, new_symbol_cache_size, no_class, observer_attach_executable_changed(), observer_attach_free_objfile(), observer_attach_new_objfile(), rbreak_command(), set_symbol_cache_size_handler(), setdebuglist, setlist, showdebuglist, showlist, symbol_cache_cleanup(), symbol_cache_key, symbol_lookup_debug, symtab_create_debug, symtab_free_objfile_observer(), symtab_new_objfile_observer(), and symtab_observer_executable_changed().

## ◆ add_filename_to_list()

static void add_filename_to_list | ( | const char * | fname,
|  | const char * | text,
|  | const char * | word,
|  | completion_list * | list
| ) |  |
| static

Definition at line 5313 of file symtab.c.

References make_completion_match_str().

Referenced by make_source_files_completion_list(), and maybe_add_partial_symtab_filename().

## ◆ add_symtab_completions()

static void add_symtab_completions | ( | struct compunit_symtab * | cust,
|  | completion_tracker & | tracker,
|  | complete_symbol_mode | mode,
|  | const lookup_name_info & | lookup_name,
|  | const char * | text,
|  | const char * | word,
|  | enum type_code | code
| ) |  |
| static

Definition at line 4950 of file symtab.c.

References ALL_BLOCK_SYMBOLS, BLOCKVECTOR_BLOCK, code, completion_list_add_symbol(), completion_skip_symbol(), COMPUNIT_BLOCKVECTOR, GLOBAL_BLOCK, QUIT, STATIC_BLOCK, STRUCT_DOMAIN, SYMBOL_DOMAIN, SYMBOL_TYPE, TYPE_CODE, and TYPE_CODE_UNDEF.

Referenced by collect_file_symbol_completion_matches(), and default_collect_symbol_completion_matches_break_on().

## ◆ allocate_symbol()

struct symbol* allocate_symbol | ( | struct objfile * | objfile | ) |

Definition at line 5757 of file symtab.c.

References initialize_objfile_symbol_1(), and OBSTACK_ZALLOC.

Referenced by coff_read_enum_type(), common_block_end(), define_symbol(), finalize_symtab(), fixup_go_packaging(), new_symbol(), new_symbol_full(), parse_symbol(), patch_block_stabs(), process_coff_symbol(), and read_enum_type().

## ◆ allocate_template_symbol()

struct template_symbol* allocate_template_symbol | ( | struct objfile * | objfile | ) |

Definition at line 5771 of file symtab.c.

References initialize_objfile_symbol_1(), and OBSTACK_ZALLOC.

Referenced by read_func_scope().

## ◆ basic_lookup_symbol_nonlocal()

struct block_symbol basic_lookup_symbol_nonlocal | ( | const struct language_defn * | langdef,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |

Definition at line 2417 of file symtab.c.

References block_gdbarch(), language_lookup_primitive_type_as_symbol(), lookup_global_symbol(), lookup_symbol_in_static_block(), name, target_gdbarch(), and VAR_DOMAIN.

## ◆ basic_lookup_transparent_type()

struct type* basic_lookup_transparent_type | ( | const char * | name | ) |

Definition at line 2792 of file symtab.c.

References ALL_OBJFILES, basic_lookup_transparent_type_1(), basic_lookup_transparent_type_quick(), GLOBAL_BLOCK, name, objfile::objfile(), and STATIC_BLOCK.

Referenced by cp_lookup_transparent_type(), and cp_lookup_transparent_type_loop().

## ◆ basic_lookup_transparent_type_1()

static struct type* basic_lookup_transparent_type_1 | ( | struct objfile * | objfile,
|  | int | block_index,
|  | const char * | name
| ) |  |
| static

Definition at line 2761 of file symtab.c.

References ALL_OBJFILE_COMPUNITS, block_find_non_opaque_type(), block_find_symbol(), BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, gdb_assert, name, STRUCT_DOMAIN, SYMBOL_TYPE, and TYPE_IS_OPAQUE.

Referenced by basic_lookup_transparent_type().

## ◆ basic_lookup_transparent_type_quick()

static struct type* basic_lookup_transparent_type_quick | ( | struct objfile * | objfile,
|  | int | block_index,
|  | const char * | name
| ) |  |
| static

Definition at line 2731 of file symtab.c.

References block_find_non_opaque_type(), block_find_symbol(), BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, error_in_psymtab_expansion(), gdb_assert, quick_symbol_functions::lookup_symbol, name, sym_fns::qf, objfile::sf, STRUCT_DOMAIN, SYMBOL_TYPE, and TYPE_IS_OPAQUE.

Referenced by basic_lookup_transparent_type().

## ◆ check_field()

static int check_field | ( | struct type * | type,
|  | const char * | name,
|  | struct field_of_this_result * | is_a_field_of_this
| ) |  |
| static

Definition at line 1964 of file symtab.c.

References check_typedef(), field_of_this_result::field, field_of_this_result::fn_field, name, strcmp_iw(), type, field_of_this_result::type, TYPE_BASECLASS, TYPE_FIELD, TYPE_FIELD_NAME, TYPE_FN_FIELDLIST, TYPE_FN_FIELDLIST_NAME, TYPE_N_BASECLASSES, TYPE_NFIELDS, and TYPE_NFN_FIELDS.

Referenced by lookup_symbol_aux().

## ◆ collect_file_symbol_completion_matches()

void collect_file_symbol_completion_matches | ( | completion_tracker & | tracker,
|  | complete_symbol_mode | mode,
|  | symbol_name_match_type | name_match_type,
|  | const char * | text,
|  | const char * | word,
|  | const char * | srcfile
| ) |  |

Definition at line 5240 of file symtab.c.

References add_symtab_completions(), iterate_over_symtabs(), language_search_unquoted_string(), LINESPEC, SYMTAB_COMPUNIT, and TYPE_CODE_UNDEF.

Referenced by complete_files_symbols(), and linespec_complete_function().

## ◆ collect_symbol_completion_matches()

void collect_symbol_completion_matches | ( | completion_tracker & | tracker,
|  | complete_symbol_mode | mode,
|  | symbol_name_match_type | name_match_type,
|  | const char * | text,
|  | const char * | word
| ) |  |

Definition at line 5206 of file symtab.c.

References current_language, language_defn::la_collect_symbol_completion_matches, and TYPE_CODE_UNDEF.

Referenced by complete_files_symbols(), linespec_complete_function(), and symbol_completer().

## ◆ collect_symbol_completion_matches_type()

void collect_symbol_completion_matches_type | ( | completion_tracker & | tracker,
|  | const char * | text,
|  | const char * | word,
|  | enum type_code | code
| ) |  |

Definition at line 5221 of file symtab.c.

References code, current_language, EXPRESSION, gdb_assert, language_defn::la_collect_symbol_completion_matches, TYPE_CODE_ENUM, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.

Referenced by complete_expression().

## ◆ compare_filenames_for_search()

int compare_filenames_for_search | ( | const char * | filename,
|  | const char * | search_name
| ) |  |

Definition at line 318 of file symtab.c.

References symtab::filename.

Referenced by skiplist_entry::do_skip_file_p(), dw2_map_symtabs_matching_filename(), file_matches(), iterate_over_some_symtabs(), maintenance_print_msymbols(), maintenance_print_psymbols(), maintenance_print_symbols(), objfpy_lookup_objfile_by_name(), and psym_map_symtabs_matching_filename().

## ◆ compare_glob_filenames_for_search()

int compare_glob_filenames_for_search | ( | const char * | filename,
|  | const char * | search_name
| ) |  |

Definition at line 356 of file symtab.c.

References count_path_elements(), symtab::filename, gdb_filename_fnmatch(), and strip_leading_path_elements().

Referenced by skiplist_entry::do_skip_gfile_p().

## ◆ compare_symbol_name()

static int compare_symbol_name | ( | const char * | symbol_name,
|  | language | symbol_language,
|  | const lookup_name_info & | lookup_name,
|  | completion_match_result & | match_res
| ) |  |
| static

Definition at line 4702 of file symtab.c.

References get_symbol_name_matcher(), and language_def().

Referenced by completion_list_add_name().

## ◆ completion_list_add_fields()

static void completion_list_add_fields | ( | completion_tracker & | tracker,
|  | struct symbol * | sym,
|  | const lookup_name_info & | lookup_name,
|  | const char * | text,
|  | const char * | word
| ) |  |
| static

Definition at line 4895 of file symtab.c.

References completion_list_add_name(), LOC_TYPEDEF, SYMBOL_CLASS, SYMBOL_LANGUAGE, SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_NAME, TYPE_N_BASECLASSES, and TYPE_NFIELDS.

Referenced by default_collect_symbol_completion_matches_break_on().

## ◆ completion_list_add_msymbol()

static void completion_list_add_msymbol | ( | completion_tracker & | tracker,
|  | minimal_symbol * | sym,
|  | const lookup_name_info & | lookup_name,
|  | const char * | text,
|  | const char * | word
| ) |  |
| static

Definition at line 4770 of file symtab.c.

References completion_list_add_name(), MSYMBOL_LANGUAGE, and MSYMBOL_NATURAL_NAME.

Referenced by default_collect_symbol_completion_matches_break_on().

## ◆ completion_list_add_name()

void completion_list_add_name | ( | completion_tracker & | tracker,
|  | language | symbol_language,
|  | const char * | symname,
|  | const lookup_name_info & | lookup_name,
|  | const char * | text,
|  | const char * | word
| ) |  |

Definition at line 4717 of file symtab.c.

References completion_tracker::add_completion(), compare_symbol_name(), gdb_assert, make_completion_match_str(), completion_match::match(), completion_match_result::match, completion_match_result::match_for_lcd, and completion_tracker::reset_completion_match_result().

Referenced by ada_collect_symbol_completion_matches(), completion_list_add_fields(), completion_list_add_msymbol(), completion_list_add_symbol(), completion_list_objc_symbol(), and default_collect_symbol_completion_matches_break_on().

## ◆ completion_list_add_symbol()

static void completion_list_add_symbol | ( | completion_tracker & | tracker,
|  | symbol * | sym,
|  | const lookup_name_info & | lookup_name,
|  | const char * | text,
|  | const char * | word
| ) |  |
| static

Definition at line 4757 of file symtab.c.

References completion_list_add_name(), SYMBOL_LANGUAGE, and SYMBOL_NATURAL_NAME.

Referenced by add_symtab_completions(), and default_collect_symbol_completion_matches_break_on().

## ◆ completion_list_objc_symbol()

static void completion_list_objc_symbol | ( | completion_tracker & | tracker,
|  | struct minimal_symbol * | msymbol,
|  | const lookup_name_info & | lookup_name,
|  | const char * | text,
|  | const char * | word
| ) |  |
| static

Definition at line 4785 of file symtab.c.

References completion_list_add_name(), language_objc, MSYMBOL_NATURAL_NAME, selector, and xrealloc().

Referenced by default_collect_symbol_completion_matches_break_on().

## ◆ compunit_language()

enum language compunit_language | ( | const struct compunit_symtab * | cust | ) |

Definition at line 303 of file symtab.c.

References compunit_primary_filetab(), and SYMTAB_LANGUAGE.

Referenced by finalize_symtab(), get_frame_language(), handle_step_into_function(), handle_step_into_function_backward(), new_symtab(), restart_symtab(), and select_frame().

## ◆ compunit_primary_filetab()

struct symtab* compunit_primary_filetab | ( | const struct compunit_symtab * | cust | ) |

Definition at line 292 of file symtab.c.

References COMPUNIT_FILETABS, and gdb_assert.

Referenced by bkscm_print_block_syms_progress_smob(), compunit_language(), debug_qf_find_compunit_symtab_by_address(), debug_qf_find_pc_sect_compunit_symtab(), debug_qf_lookup_symbol(), dw2_find_last_source_symtab(), error_in_psymtab_expansion(), maintenance_check_symtabs(), and psym_find_last_source_symtab().

## ◆ create_demangled_names_hash()

static void create_demangled_names_hash | ( | struct objfile * | objfile | ) |
| static

Definition at line 710 of file symtab.c.

References objfile_per_bfd_storage::demangled_names_hash, eq_demangled_name_entry(), hash_demangled_name_entry(), objfile::per_bfd, xcalloc(), and xfree().

Referenced by symbol_set_names().

## ◆ default_collect_symbol_completion_matches()

void default_collect_symbol_completion_matches | ( | completion_tracker & | tracker,
|  | complete_symbol_mode | mode,
|  | symbol_name_match_type | name_match_type,
|  | const char * | text,
|  | const char * | word,
|  | enum type_code | code
| ) |  |

Definition at line 5190 of file symtab.c.

References code, and default_collect_symbol_completion_matches_break_on().

## ◆ default_collect_symbol_completion_matches_break_on()

void default_collect_symbol_completion_matches_break_on | ( | completion_tracker & | tracker,
|  | complete_symbol_mode | mode,
|  | symbol_name_match_type | name_match_type,
|  | const char * | text,
|  | const char * | word,
|  | const char * | break_on,
|  | enum type_code | code
| ) |  |

Definition at line 4986 of file symtab.c.

References add_symtab_completions(), ALL_BLOCK_SYMBOLS, ALL_COMPUNITS, ALL_DOMAIN, ALL_MSYMBOLS, BLOCK_FUNCTION, block_global_block(), block_inlined_p(), block_static_block(), BLOCK_SUPERBLOCK, code, completion_list_add_fields(), completion_list_add_msymbol(), completion_list_add_name(), completion_list_add_symbol(), completion_list_objc_symbol(), completion_skip_symbol(), current_language, default_macro_scope(), expand_symtabs_matching(), macro_scope::file, get_selected_block(), language_defn::la_macro_expansion, language_c, macro_scope::line, LINESPEC, macro_expansion_c, macro_for_each(), macro_for_each_in_scope(), macro_user_macros, objfile::objfile(), QUIT, STRUCT_DOMAIN, SYMBOL_DOMAIN, SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_UNDEF, and xfree().

Referenced by default_collect_symbol_completion_matches(), and f_collect_symbol_completion_matches().

## ◆ demangle_for_lookup()

const char* demangle_for_lookup | ( | const char * | name,
|  | enum language | lang,
|  | demangle_result_storage & | storage
| ) |  |

Definition at line 1823 of file symtab.c.

References cp_canonicalize_string(), d_demangle(), gdb_demangle(), go_demangle(), language_cplus, language_d, language_go, name, demangle_result_storage::set_malloc_ptr(), string, and demangle_result_storage::swap_string().

Referenced by demangle_for_lookup_info::demangle_for_lookup_info(), lookup_symbol_in_language(), and lookup_symbol_in_objfile_from_linkage_name().

## ◆ domain_name()

const char* domain_name | ( | domain_enum | e | ) |

Definition at line 260 of file symtab.c.

References COMMON_BLOCK_DOMAIN, gdb_assert_not_reached, LABEL_DOMAIN, MODULE_DOMAIN, STRUCT_DOMAIN, UNDEF_DOMAIN, and VAR_DOMAIN.

Referenced by cp_lookup_nested_symbol(), cp_lookup_symbol_imports_or_template(), cp_lookup_symbol_namespace(), cp_lookup_symbol_nonlocal(), debug_qf_lookup_symbol(), debug_qf_map_matching_symbols(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_objfile(), lookup_symbol_in_objfile_symtabs(), lookup_symbol_in_static_block(), lookup_symbol_via_quick_fns(), rust_lookup_symbol_nonlocal(), symbol_cache_dump(), and symbol_cache_lookup().

## ◆ eq_demangled_name_entry()

static int eq_demangled_name_entry | ( | const void * | a,
|  | const void * | b
| ) |  |
| static

Definition at line 695 of file symtab.c.

References demangled_name_entry::mangled.

Referenced by create_demangled_names_hash().

## ◆ eq_symbol_entry()

static int eq_symbol_entry | ( | const struct symbol_cache_slot * | slot,
|  | const struct objfile * | objfile_context,
|  | const char * | name,
|  | domain_enum | domain
| ) |  |
| static

Definition at line 1085 of file symtab.c.

References symbol::domain, symbol_cache_slot::found, FULL, name, symbol_cache_slot::not_found, symbol_cache_slot::objfile_context, symbol_cache_slot::state, block_symbol::symbol, SYMBOL_DOMAIN, SYMBOL_LANGUAGE, symbol_matches_domain(), SYMBOL_MATCHES_SEARCH_NAME, SYMBOL_SEARCH_NAME, SYMBOL_SLOT_NOT_FOUND, SYMBOL_SLOT_UNUSED, and symbol_cache_slot::value.

Referenced by symbol_cache_lookup().

## ◆ error_in_psymtab_expansion()

static void ATTRIBUTE_NORETURN error_in_psymtab_expansion | ( | int | block_index,
|  | const char * | name,
|  | struct compunit_symtab * | cust
| ) |  |
| static

Definition at line 2345 of file symtab.c.

References _, compunit_primary_filetab(), error(), GLOBAL_BLOCK, name, and symtab_to_filename_for_display().

Referenced by basic_lookup_transparent_type_quick(), and lookup_symbol_via_quick_fns().

## ◆ expand_symtab_containing_pc()

void expand_symtab_containing_pc | ( | CORE_ADDR | pc,
|  | struct obj_section * | section
| ) |  |

Definition at line 1032 of file symtab.c.

References ALL_OBJFILES, quick_symbol_functions::find_pc_sect_compunit_symtab, lookup_minimal_symbol_by_pc_section(), mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, MSYMBOL_TYPE, objfile::objfile(), sym_fns::qf, and objfile::sf.

Referenced by backtrace_command_1().

## ◆ file_matches()

static int file_matches | ( | const char * | file,
|  | const char * | files[],
|  | int | nfiles,
|  | int | basenames
| ) |  |
| static

Definition at line 4204 of file symtab.c.

References compare_filenames_for_search().

Referenced by search_symbols().

## ◆ find_function_alias_target()

symbol* find_function_alias_target | ( | bound_minimal_symbol | msymbol | ) |

Definition at line 3953 of file symtab.c.

References BLOCK_START, find_pc_function(), LOC_BLOCK, bound_minimal_symbol::minsym, msymbol_is_function(), bound_minimal_symbol::objfile, SYMBOL_BLOCK_VALUE, and SYMBOL_CLASS.

Referenced by yyparse().

## ◆ find_function_start_sal()

struct symtab_and_line find_function_start_sal | ( | struct symbol * | sym,
|  | int | funfirstline
| ) |  |

Definition at line 3585 of file symtab.c.

References BLOCK_START, COMPUNIT_LOCATIONS_VALID, current_program_space, find_pc_sect_line(), fixup_symbol_section(), gdbarch_skip_entrypoint(), gdbarch_skip_entrypoint_p(), language_asm, symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, skip_prologue_sal(), symtab_and_line::symbol, symbol_arch(), SYMBOL_BLOCK_VALUE, SYMBOL_OBJ_SECTION, symbol_objfile(), symtab_and_line::symtab, SYMTAB_COMPUNIT, and SYMTAB_LANGUAGE.

Referenced by ada_exception_sal(), spu_catch_start(), symbol_to_sal(), and user_select_syms().

## ◆ find_line_common()

static int find_line_common | ( | struct linetable * | l,
|  | int | lineno,
|  | int * | exact_match,
|  | int | start
| ) |  |
| static

Definition at line 3523 of file symtab.c.

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

Referenced by find_line_symtab(), and find_pcs_for_symtab_line().

## ◆ find_line_pc()

int find_line_pc | ( | struct symtab * | symtab,
|  | int | line,
|  | CORE_ADDR * | pc
| ) |  |

Definition at line 3456 of file symtab.c.

References find_line_symtab(), linetable::item, linetable_entry::pc, and SYMTAB_LINETABLE.

Referenced by extract_display_start_addr(), find_line_pc_range(), make_visible_with_new_height(), mi_cmd_disassemble(), resolve_sal_pc(), tui_update_source_windows_with_line(), and update_static_tracepoint().

## ◆ find_line_pc_range()

int find_line_pc_range | ( | struct symtab_and_line | sal,
|  | CORE_ADDR * | startptr,
|  | CORE_ADDR * | endptr
| ) |  |

Definition at line 3483 of file symtab.c.

References symtab_and_line::end, find_line_pc(), find_pc_sect_line(), symtab_and_line::line, symtab_and_line::pc, symtab_and_line::section, and symtab_and_line::symtab.

Referenced by find_breakpoint_range_end(), info_line_command(), mi_cmd_trace_find(), and tfind_line_command().

## ◆ find_line_symtab()

struct symtab* find_line_symtab | ( | struct symtab * | symtab,
|  | int | line,
|  | int * | index,
|  | int * | exact_match
| ) |  |

Definition at line 3322 of file symtab.c.

References ALL_FILETABS, ALL_OBJFILES, quick_symbol_functions::expand_symtabs_with_fullname, symtab::filename, find_line_common(), linetable::item, linetable_entry::line, objfile::objfile(), sym_fns::qf, objfile::sf, SYMTAB_LINETABLE, and symtab_to_fullname().

Referenced by decode_digits_list_mode(), and find_line_pc().

## ◆ find_main_name()

static void find_main_name | ( | void |  | ) |
| static

Definition at line 5497 of file symtab.c.

References ada_main_name(), ALL_OBJFILES, d_main_name(), go_main_name(), language_ada, language_d, language_go, objfile_per_bfd_storage::language_of_main, language_pascal, language_unknown, objfile_per_bfd_storage::name_of_main, objfile::objfile(), pascal_main_name(), objfile::per_bfd, and set_main_name().

Referenced by main_language(), and main_name().

## ◆ find_pc_compunit_symtab()

struct compunit_symtab* find_pc_compunit_symtab | ( | CORE_ADDR | pc | ) |

Definition at line 2988 of file symtab.c.

References find_pc_mapped_section(), and find_pc_sect_compunit_symtab().

Referenced by amd64_skip_prologue(), amd64_stack_frame_destroyed_p(), arm_skip_prologue(), call_site_for_pc(), dwarf2_frame_find_quirks(), gdbpy_block_for_pc(), gdbscm_lookup_block(), get_frame_language(), get_selected_pc_producer_options(), handle_step_into_function(), handle_step_into_function_backward(), i386_skip_prologue(), i386_stack_frame_destroyed_p(), search_symbols(), and select_frame().

## ◆ find_pc_line()

struct symtab_and_line find_pc_line | ( | CORE_ADDR | pc,
|  | int | notcurrent
| ) |  |

Definition at line 3288 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(), arc_make_frame_cache(), arm_linux_copy_svc(), BP_MANIPULATION(), btrace_compute_src_line_range(), c_parse(), call0_analyze_prologue(), convert_address_location_to_sals(), cris_skip_prologue(), decode_static_tracepoint_spec(), default_macro_scope(), do_mixed_source_and_assembly(), do_mixed_source_and_assembly_deprecated(), elf_gnu_ifunc_resolver_return_stop(), find_frame_sal(), find_last_line_symbol(), find_pc_line_pc_range(), find_pc_line_symtab(), find_pc_sect_line(), finish_backward(), finish_forward(), frv_skip_prologue(), ft32_skip_prologue(), gdbpy_find_pc_line(), gdbscm_find_pc_line(), h8300_skip_prologue(), handle_step_into_function(), handle_step_into_function_backward(), info_checkpoints_command(), insert_single_step_breakpoint(), iq2000_skip_prologue(), m32r_skip_prologue(), m68hc11_skip_prologue(), m88k_skip_prologue(), microblaze_skip_prologue(), moxie_skip_prologue(), mt_skip_prologue(), or1k_skip_prologue(), parse_breakpoint_sals(), print_one_static_tracepoint_marker(), process_event_stop_test(), recpy_bt_insn_sal(), 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(), tfind_line_command(), tui_show_disassem_and_update_source(), tui_update_source_windows_with_addr(), until_break_command(), until_next_command(), update_static_tracepoint(), v850_skip_prologue(), write_macro_definitions(), xstormy16_skip_prologue(), and xtensa_skip_prologue().

## ◆ find_pc_line_pc_range()

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

Definition at line 3567 of file symtab.c.

References find_pc_line(), and symtab_and_line::pc.

Referenced by prepare_one_step().

## ◆ find_pc_line_symtab()

struct symtab* find_pc_line_symtab | ( | CORE_ADDR | pc | ) |

Definition at line 3301 of file symtab.c.

References find_pc_line(), and symtab_and_line::pc.

Referenced by btrace_find_line_range(), gdb_disassembly(), maintenance_print_symbols(), make_visible_with_new_height(), tui_display_main(), tui_horizontal_source_scroll(), tui_refresh_frame_and_register_information(), tui_show_disassem(), and tui_vertical_source_scroll().

## ◆ find_pc_sect_compunit_symtab()

struct compunit_symtab* find_pc_sect_compunit_symtab | ( | CORE_ADDR | pc,
|  | struct obj_section * | section
| ) |  |

Definition at line 2872 of file symtab.c.

References ALL_BLOCK_SYMBOLS, ALL_COMPUNITS, ALL_OBJFILES, BLOCK_END, BLOCK_START, BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, quick_symbol_functions::find_pc_sect_compunit_symtab, fixup_symbol_section(), objfile::flags, GLOBAL_BLOCK, lookup_minimal_symbol_by_pc_section(), matching_obj_sections(), mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, MSYMBOL_TYPE, OBJF_REORDERED, objfile::objfile(), sym_fns::qf, objfile::sf, and SYMBOL_OBJ_SECTION.

Referenced by blockvector_for_pc_sect(), find_pc_compunit_symtab(), find_pc_sect_line(), and spu_catch_start().

## ◆ find_pc_sect_line()

struct symtab_and_line find_pc_sect_line | ( | CORE_ADDR | pc,
|  | struct obj_section * | section,
|  | int | notcurrent
| ) |  |

Definition at line 3051 of file symtab.c.

References ALL_COMPUNIT_FILETABS, BLOCK_END, BLOCKVECTOR_BLOCK, BMSYMBOL_VALUE_ADDRESS, COMPUNIT_BLOCKVECTOR, current_program_space, symtab_and_line::end, find_pc_line(), find_pc_sect_compunit_symtab(), GLOBAL_BLOCK, linetable::item, linetable_entry::line, symtab_and_line::line, lookup_minimal_symbol_by_pc(), lookup_minimal_symbol_text(), bound_minimal_symbol::minsym, mst_solib_trampoline, MSYMBOL_LINKAGE_NAME, MSYMBOL_TYPE, linetable::nitems, linetable_entry::pc, symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, symtab_and_line::symtab, and SYMTAB_LINETABLE.

Referenced by add_minsym(), amd64_skip_xmm_prologue(), build_address_symbolic(), find_function_start_sal(), find_instruction_backward(), find_line_pc_range(), find_pc_line(), minsym_found(), and skip_prologue_sal().

## ◆ find_pcs_for_symtab_line()

std::vector<CORE_ADDR> find_pcs_for_symtab_line | ( | struct symtab * | symtab,
|  | int | line,
|  | struct linetable_entry ** | best_item
| ) |  |

Definition at line 3416 of file symtab.c.

References find_line_common(), linetable_entry::line, linetable_entry::pc, and SYMTAB_LINETABLE.

Referenced by decode_digits_ordinary(), and ltpy_get_pcs_for_line().

## ◆ find_symbol_at_address()

struct symbol* find_symbol_at_address | ( | CORE_ADDR | address | ) |

Definition at line 2996 of file symtab.c.

References ALL_BLOCK_SYMBOLS, ALL_OBJFILES, BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, quick_symbol_functions::find_compunit_symtab_by_address, GLOBAL_BLOCK, LOC_STATIC, objfile::objfile(), sym_fns::qf, objfile::sf, STATIC_BLOCK, SYMBOL_CLASS, and SYMBOL_VALUE_ADDRESS.

Referenced by rust_get_trait_object_pointer().

## ◆ fixup_section()

void fixup_section | ( | struct general_symbol_info * | ginfo,
|  | CORE_ADDR | addr,
|  | struct objfile * | objfile
| ) |  |

Definition at line 1637 of file symtab.c.

References ALL_OBJFILE_OSECTIONS, ANOFFSET, lookup_minimal_symbol_by_pc_name(), MSYMBOL_SECTION, general_symbol_info::name, obj_section_addr, obj_section_endaddr, offset, general_symbol_info::section, objfile::section_offsets, and objfile::sections.

Referenced by fixup_psymbol_section(), and fixup_symbol_section().

## ◆ fixup_symbol_section()

struct symbol* fixup_symbol_section | ( | struct symbol * | sym,
|  | struct objfile * | objfile
| ) |  |

Definition at line 1718 of file symtab.c.

References BLOCK_START, fixup_section(), gdb_assert, symbol::ginfo, LOC_BLOCK, LOC_LABEL, LOC_STATIC, SYMBOL_BLOCK_VALUE, SYMBOL_CLASS, SYMBOL_OBJ_SECTION, symbol_objfile(), SYMBOL_OBJFILE_OWNED, symbol_symtab(), and SYMBOL_VALUE_ADDRESS.

Referenced by ada_add_block_symbols(), ada_lookup_symbol(), aux_add_nonlocal_symbols(), find_function_start_sal(), find_pc_sect_compunit_symtab(), jump_command(), lookup_symbol_in_block(), lookup_symbol_in_objfile_symtabs(), lookup_symbol_via_quick_fns(), relocate_one_symbol(), resolve_sal_pc(), skip_prologue_sal(), spu_catch_start(), and var_decode_location().

## ◆ free_symbol_cache()

static void free_symbol_cache | ( | struct symbol_cache * | cache | ) |
| static

Definition at line 1218 of file symtab.c.

References symbol_cache::global_symbols, symbol_cache::static_symbols, and xfree().

Referenced by symbol_cache_cleanup().

## ◆ gdb_mangle_name()

char* gdb_mangle_name | ( | struct type * | type,
|  | int | method_id,
|  | int | signature_id
| ) |  |

Definition at line 522 of file symtab.c.

References field_name(), fn_field::is_const, cleanup_check::is_constructor(), is_constructor_name(), cleanup_check::is_destructor(), is_destructor_name(), is_operator_name(), fn_field::is_volatile, fn_field::physname, startswith(), TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_NAME, type_name_no_tag(), xmalloc(), and xsnprintf().

Referenced by c_type_print_base_struct_union(), and check_stub_method().

## ◆ gdb_static_assert()

gdb_static_assert | ( | MAX_SYMBOL_IMPLS<= | 1<< SYMBOL_ACLASS_BITS | ) |

## ◆ get_main_info()

static struct main_info* get_main_info | ( | void |  | ) |
| static

Definition at line 5439 of file symtab.c.

References current_program_space, main_info::language_of_main, language_unknown, main_progspace_key, and XCNEW.

Referenced by main_language(), main_name(), and set_main_name().

## ◆ get_symbol_cache()

static struct symbol_cache* get_symbol_cache | ( | struct program_space * | pspace | ) |
| static

Definition at line 1229 of file symtab.c.

References make_symbol_cache(), symbol_cache_key, and symbol_cache_size.

Referenced by lookup_global_symbol(), and lookup_static_symbol().

## ◆ hash_demangled_name_entry()

static hashval_t hash_demangled_name_entry | ( | const void * | data | ) |
| static

Definition at line 684 of file symtab.c.

References demangled_name_entry::mangled.

Referenced by create_demangled_names_hash().

## ◆ hash_symbol_entry()

static unsigned int hash_symbol_entry | ( | const struct objfile * | objfile_context,
|  | const char * | name,
|  | domain_enum | domain
| ) |  |
| static

Definition at line 1064 of file symtab.c.

References hash(), name, STRUCT_DOMAIN, and VAR_DOMAIN.

Referenced by symbol_cache_lookup().

## ◆ info_functions_command()

static void info_functions_command | ( | const char * | regexp,
|  | int | from_tty
| ) |  |
| static

Definition at line 4616 of file symtab.c.

References FUNCTIONS_DOMAIN, and symtab_symbol_info().

Referenced by _initialize_symtab().

## ◆ info_sources_command()

static void info_sources_command | ( | const char * | ignore,
|  | int | from_tty
| ) |  |
| static

Definition at line 4163 of file symtab.c.

References _, ALL_FILETABS, filename_seen_cache::clear(), error(), output_source_filename_data::filename_seen_cache, output_source_filename_data::first, have_full_symbols(), have_partial_symbols(), map_symbol_filenames(), objfile::objfile(), output_partial_symbol_filename(), output_source_filename(), printf_filtered(), and symtab_to_fullname().

Referenced by _initialize_symtab().

## ◆ info_types_command()

static void info_types_command | ( | const char * | regexp,
|  | int | from_tty
| ) |  |
| static

Definition at line 4623 of file symtab.c.

References symtab_symbol_info(), and TYPES_DOMAIN.

Referenced by _initialize_symtab().

## ◆ info_variables_command()

static void info_variables_command | ( | const char * | regexp,
|  | int | from_tty
| ) |  |
| static

Definition at line 4610 of file symtab.c.

References symtab_symbol_info(), and VARIABLES_DOMAIN.

Referenced by _initialize_symtab().

## ◆ initialize_objfile_symbol()

void initialize_objfile_symbol | ( | struct symbol * | sym | ) |

Definition at line 5747 of file symtab.c.

References initialize_objfile_symbol_1(), and memset().

Referenced by process_xcoff_symbol(), and read_variable().

## ◆ initialize_objfile_symbol_1()

static void initialize_objfile_symbol_1 | ( | struct symbol * | sym | ) |
| static

Definition at line 5738 of file symtab.c.

References SYMBOL_OBJFILE_OWNED, and SYMBOL_SECTION.

Referenced by allocate_symbol(), allocate_template_symbol(), and initialize_objfile_symbol().

## ◆ initialize_ordinary_address_classes()

static void initialize_ordinary_address_classes | ( | void |  | ) |
| static

Definition at line 5724 of file symtab.c.

References symbol_impl::aclass, and LOC_FINAL_VALUE.

Referenced by _initialize_symtab().

## ◆ iterate_over_some_symtabs()

bool iterate_over_some_symtabs | ( | const char * | name,
|  | const char * | real_path,
|  | struct compunit_symtab * | first,
|  | struct compunit_symtab * | after_last,
|  | gdb::function_view< bool(symtab *)> | callback
| ) |  |

Definition at line 399 of file symtab.c.

References ALL_COMPUNIT_FILETABS, basenames_may_differ, compare_filenames_for_search(), symtab::filename, symtab::fullname, gdb_assert, name, compunit_symtab::next, and symtab_to_fullname().

Referenced by dw2_map_expand_apply(), iterate_over_symtabs(), and partial_map_expand_apply().

## ◆ iterate_over_symbols()

void iterate_over_symbols | ( | const struct block * | block,
|  | const lookup_name_info & | name,
|  | const domain_enum | domain,
|  | gdb::function_view< symbol_found_callback_ftype > | callback
| ) |  |

Definition at line 2849 of file symtab.c.

References ALL_BLOCK_SYMBOLS_WITH_NAME, symbol::domain, name, SYMBOL_DOMAIN, SYMBOL_LANGUAGE, and symbol_matches_domain().

## ◆ iterate_over_symtabs()

void iterate_over_symtabs | ( | const char * | name,
|  | gdb::function_view< bool(symtab *)> | callback
| ) |  |

Definition at line 462 of file symtab.c.

References ALL_OBJFILES, objfile::compunit_symtabs, gdb_assert, gdb_realpath(), iterate_over_some_symtabs(), quick_symbol_functions::map_symtabs_matching_filename, name, objfile::objfile(), sym_fns::qf, and objfile::sf.

Referenced by collect_file_symbol_completion_matches(), and lookup_symtab().

## ◆ language_search_unquoted_string()

static const char* language_search_unquoted_string | ( | const char * | text,
|  | const char * | p
| ) |  |
| static

Definition at line 4852 of file symtab.c.

References current_language, language_defn::la_language, and language_objc.

Referenced by collect_file_symbol_completion_matches().

## ◆ lookup_global_symbol()

struct block_symbol lookup_global_symbol | ( | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |

Definition at line 2651 of file symtab.c.

References block_symbol::block, current_program_space, symbol_cache_slot::domain, global_sym_lookup_data::domain, gdbarch_iterate_over_objfiles_in_search_order(), get_objfile_arch(), get_symbol_cache(), GLOBAL_BLOCK, lookup_objfile_from_block(), lookup_symbol_global_iterator_cb(), memset(), name, global_sym_lookup_data::name, objfile::objfile(), global_sym_lookup_data::result, solib_global_lookup(), block_symbol::symbol, symbol_cache_lookup(), symbol_cache_mark_found(), symbol_cache_mark_not_found(), SYMBOL_LOOKUP_FAILED_P, and target_gdbarch().

Referenced by basic_lookup_symbol_nonlocal(), cp_basic_lookup_symbol(), cp_lookup_bare_symbol(), cp_search_static_and_baseclasses(), d_lookup_symbol(), gdbpy_lookup_global_symbol(), gdbscm_lookup_global_symbol(), and rust_lookup_symbol_nonlocal().

## ◆ lookup_global_symbol_from_objfile()

struct block_symbol lookup_global_symbol_from_objfile | ( | struct objfile * | main_objfile,
|  | const char * | name,
|  | const domain_enum | domain
| ) |  |

Definition at line 2226 of file symtab.c.

References GLOBAL_BLOCK, lookup_symbol_in_objfile(), name, objfile::objfile(), objfile_separate_debug_iterate(), and block_symbol::symbol.

Referenced by compile_object_load(), elf_lookup_lib_symbol(), and spu_lookup_lib_symbol().

## ◆ lookup_language_this()

struct block_symbol lookup_language_this | ( | const struct language_defn * | lang,
|  | const struct block * | block
| ) |  |

Definition at line 1915 of file symtab.c.

References BLOCK_FUNCTION, block_lookup_symbol(), BLOCK_SUPERBLOCK, fprintf_unfiltered(), gdb_stdlog, host_address_to_string, lookup_objfile_from_block(), objfile_debug_name(), SEARCH_NAME, symbol_lookup_debug, SYMBOL_PRINT_NAME, and VAR_DOMAIN.

Referenced by cp_lookup_bare_symbol(), d_lookup_symbol(), gen_expr(), lookup_symbol_aux(), and value_of_this().

## ◆ lookup_local_symbol() [1/2]

static struct block_symbol lookup_local_symbol | ( | const char * | name,
|  | symbol_name_match_type | match_type,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | enum language | language
| ) |  |
| static

Referenced by lookup_symbol_aux().

## ◆ lookup_local_symbol() [2/2]

static struct block_symbol lookup_local_symbol | ( | const char * | name,
|  | symbol_name_match_type | match_type,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | enum language | language
| ) |  |
| static

Definition at line 2120 of file symtab.c.

References BLOCK_FUNCTION, block_inlined_p(), block_scope(), block_static_block(), BLOCK_SUPERBLOCK, cp_lookup_symbol_imports_or_template(), language_cplus, language_fortran, lookup_symbol_in_block(), name, and block_symbol::symbol.

## ◆ lookup_objfile_from_block()

struct objfile* lookup_objfile_from_block | ( | const struct block * | block | ) |

Definition at line 2164 of file symtab.c.

References ALL_COMPUNITS, block_global_block(), BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, GLOBAL_BLOCK, and objfile::separate_debug_objfile_backlink.

Referenced by clear_dangling_display_expressions(), lookup_global_symbol(), lookup_language_this(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_static_block(), and operator_check_standard().

## ◆ lookup_static_symbol()

struct block_symbol lookup_static_symbol | ( | const char * | name,
|  | const domain_enum | domain
| ) |  |

Definition at line 2574 of file symtab.c.

References ALL_OBJFILES, block_symbol::block, current_program_space, symbol_cache_slot::domain, get_symbol_cache(), lookup_symbol_in_objfile(), name, objfile::objfile(), STATIC_BLOCK, block_symbol::symbol, symbol_cache_lookup(), symbol_cache_mark_found(), symbol_cache_mark_not_found(), and SYMBOL_LOOKUP_FAILED_P.

Referenced by cp_lookup_nested_symbol_1(), d_lookup_nested_symbol(), find_symbol_in_baseclass(), and lookup_symbol_aux().

## ◆ lookup_symbol()

struct block_symbol lookup_symbol | ( | const char * | name,
|  | const struct block * | block,
|  | domain_enum | domain,
|  | struct field_of_this_result * | is_a_field_of_this
| ) |  |

Definition at line 1893 of file symtab.c.

References current_language, language_defn::la_language, lookup_symbol_in_language(), and name.

Referenced by check_typedef(), classify_name(), classify_packaged_name(), convert_symbol_sym(), cp_lookup_rtti_type(), cp_search_static_and_baseclasses(), evaluate_subexp_standard(), find_function_in_inferior(), find_imps(), find_label_symbols_in_block(), find_proc_desc(), frapy_read_var(), ft32_skip_prologue(), gcc_convert_symbol(), gcc_symbol_address(), gdbpy_lookup_symbol(), gdbscm_frame_read_var(), gdbscm_lookup_symbol(), gen_static_field(), gnuv3_get_typeid_type(), info_address_command(), inspect_type(), language_bool_type(), lex_one_token(), list_args_or_locals(), lookup_enum(), lookup_struct(), lookup_struct_typedef(), lookup_template_type(), lookup_union(), moxie_skip_prologue(), mt_skip_prologue(), package_name_p(), parse_procedure(), replace_typedefs(), rust_evaluate_funcall(), rust_lookup_symbol(), rust_lookup_type(), select_source_symtab(), set_initial_language(), value_fn_field(), value_static_field(), value_struct_elt_for_reference(), VEC(), write_dollar_variable(), xstormy16_skip_prologue(), yylex(), and yyparse().

## ◆ lookup_symbol_aux() [1/2]

static struct block_symbol lookup_symbol_aux | ( | const char * | name,
|  | symbol_name_match_type | match_type,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | enum language | language,
|  | struct field_of_this_result * |
| ) |  |
| static

Referenced by lookup_symbol_in_language(), and lookup_symbol_search_name().

## ◆ lookup_symbol_aux() [2/2]

static struct block_symbol lookup_symbol_aux | ( | const char * | name,
|  | symbol_name_match_type | match_type,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | enum language | language,
|  | struct field_of_this_result * | is_a_field_of_this
| ) |  |
| static

Definition at line 2008 of file symtab.c.

References _, check_field(), check_typedef(), domain_name(), error(), fprintf_unfiltered(), gdb_stdlog, host_address_to_string, language_defn::la_lookup_symbol_nonlocal, language_defn::la_name_of_this, language_def(), language_str(), lookup_language_this(), lookup_local_symbol(), lookup_objfile_from_block(), lookup_static_symbol(), memset(), name, objfile_debug_name(), STRUCT_DOMAIN, block_symbol::symbol, symbol_lookup_debug, symbol::type, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_IS_REFERENCE, and TYPE_TARGET_TYPE.

## ◆ lookup_symbol_global_iterator_cb()

static int lookup_symbol_global_iterator_cb | ( | struct objfile * | objfile,
|  | void * | cb_data
| ) |  |
| static

Definition at line 2631 of file symtab.c.

References block_symbol::block, global_sym_lookup_data::domain, gdb_assert, GLOBAL_BLOCK, lookup_symbol_in_objfile(), global_sym_lookup_data::name, global_sym_lookup_data::result, and block_symbol::symbol.

Referenced by lookup_global_symbol().

## ◆ lookup_symbol_in_block()

struct symbol* lookup_symbol_in_block | ( | const char * | name,
|  | symbol_name_match_type | match_type,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |

Definition at line 2190 of file symtab.c.

References block_lookup_symbol(), domain_name(), fixup_symbol_section(), fprintf_unfiltered(), gdb_stdlog, host_address_to_string, lookup_objfile_from_block(), name, objfile_debug_name(), and symbol_lookup_debug.

Referenced by cp_basic_lookup_symbol(), lookup_local_symbol(), and lookup_symbol_in_static_block().

## ◆ lookup_symbol_in_language()

struct block_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
| ) |  |

Definition at line 1877 of file symtab.c.

References demangle_for_lookup(), FULL, lookup_symbol_aux(), and name.

Referenced by ada_get_tcb_types_info(), ada_tasks_inferior_data_sniffer(), lookup_symbol(), lookup_typename(), and standard_lookup().

## ◆ lookup_symbol_in_objfile()

static struct block_symbol lookup_symbol_in_objfile | ( | struct objfile * | objfile,
|  | int | block_index,
|  | const char * | name,
|  | const domain_enum | domain
| ) |  |
| static

Definition at line 2528 of file symtab.c.

References domain_name(), fprintf_unfiltered(), gdb_stdlog, GLOBAL_BLOCK, host_address_to_string, lookup_symbol_in_objfile_symtabs(), lookup_symbol_via_quick_fns(), name, objfile_debug_name(), block_symbol::symbol, and symbol_lookup_debug.

Referenced by lookup_global_symbol_from_objfile(), lookup_static_symbol(), and lookup_symbol_global_iterator_cb().

## ◆ lookup_symbol_in_objfile_from_linkage_name()

static struct block_symbol lookup_symbol_in_objfile_from_linkage_name | ( | struct objfile * | objfile,
|  | const char * | linkage_name,
|  | domain_enum | domain
| ) |  |
| static

Definition at line 2308 of file symtab.c.

References current_language, demangle_for_lookup(), GLOBAL_BLOCK, language_defn::la_language, lookup_symbol_in_objfile_symtabs(), objfile::objfile(), objfile_separate_debug_iterate(), objfile::separate_debug_objfile_backlink, and STATIC_BLOCK.

Referenced by search_symbols().

## ◆ lookup_symbol_in_objfile_symtabs()

static struct block_symbol lookup_symbol_in_objfile_symtabs | ( | struct objfile * | objfile,
|  | int | block_index,
|  | const char * | name,
|  | const domain_enum | domain
| ) |  |
| static

Definition at line 2252 of file symtab.c.

References ALL_OBJFILE_COMPUNITS, block_symbol::block, block_lookup_symbol_primary(), BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, domain_name(), fixup_symbol_section(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, GLOBAL_BLOCK, host_address_to_string, name, objfile_debug_name(), STATIC_BLOCK, block_symbol::symbol, and symbol_lookup_debug.

Referenced by lookup_symbol_in_objfile(), and lookup_symbol_in_objfile_from_linkage_name().

## ◆ lookup_symbol_in_static_block()

struct block_symbol lookup_symbol_in_static_block | ( | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |

Definition at line 2487 of file symtab.c.

References block_static_block(), domain_name(), fprintf_unfiltered(), FULL, gdb_stdlog, host_address_to_string, lookup_objfile_from_block(), lookup_symbol_in_block(), name, objfile_debug_name(), and symbol_lookup_debug.

Referenced by basic_lookup_symbol_nonlocal(), cp_basic_lookup_symbol(), cp_lookup_bare_symbol(), cp_lookup_nested_symbol_1(), cp_search_static_and_baseclasses(), d_lookup_symbol(), find_symbol_in_baseclass(), and rust_lookup_symbol_nonlocal().

## ◆ lookup_symbol_search_name()

struct block_symbol lookup_symbol_search_name | ( | const char * | search_name,
|  | const struct block * | block,
|  | domain_enum | domain
| ) |  |

Definition at line 1905 of file symtab.c.

References language_asm, lookup_symbol_aux(), and SEARCH_NAME.

Referenced by insert_exception_resume_breakpoint(), iterate_over_block_arg_vars(), pascal_val_print(), print_frame_args(), and print_unpacked_pointer().

## ◆ lookup_symbol_via_quick_fns()

static struct block_symbol lookup_symbol_via_quick_fns | ( | struct objfile * | objfile,
|  | int | block_index,
|  | const char * | name,
|  | const domain_enum | domain
| ) |  |
| static

Definition at line 2362 of file symtab.c.

References block_symbol::block, block_lookup_symbol(), BLOCKVECTOR_BLOCK, COMPUNIT_BLOCKVECTOR, domain_name(), error_in_psymtab_expansion(), fixup_symbol_section(), fprintf_unfiltered(), FULL, gdb_stdlog, GLOBAL_BLOCK, host_address_to_string, quick_symbol_functions::lookup_symbol, name, objfile_debug_name(), sym_fns::qf, objfile::sf, block_symbol::symbol, and symbol_lookup_debug.

Referenced by lookup_symbol_in_objfile().

## ◆ lookup_symtab()

struct symtab* lookup_symtab | ( | const char * | name | ) |

Definition at line 502 of file symtab.c.

References iterate_over_symtabs(), and name.

Referenced by block_lookup(), mi_cmd_disassemble(), mi_cmd_symbol_list_lines(), VEC(), yylex(), and yyparse().

## ◆ lookup_transparent_type()

struct type* lookup_transparent_type | ( | const char * | name | ) |

Definition at line 2722 of file symtab.c.

References current_language, language_defn::la_lookup_transparent_type, and name.

Referenced by check_typedef().

## ◆ main_info_cleanup()

static void main_info_cleanup | ( | struct program_space * | pspace,
|  | void * | data
| ) |  |
| static

Definition at line 5466 of file symtab.c.

References main_info::name_of_main, and xfree().

Referenced by _initialize_symtab().

## ◆ main_language()

enum language main_language | ( | void |  | ) |

Definition at line 5582 of file symtab.c.

References find_main_name(), get_main_info(), main_info::language_of_main, and main_info::name_of_main.

Referenced by set_initial_language().

## ◆ main_name()

char* main_name | ( | void |  | ) |

Definition at line 5568 of file symtab.c.

References find_main_name(), get_main_info(), and main_info::name_of_main.

Referenced by inside_main_func(), run_command_1(), select_source_symtab(), set_initial_language(), and skip_prologue().

## ◆ maintenance_flush_symbol_cache()

static void maintenance_flush_symbol_cache | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1547 of file symtab.c.

References ALL_PSPACES, and symbol_cache_flush().

Referenced by _initialize_symtab().

## ◆ maintenance_print_symbol_cache()

static void maintenance_print_symbol_cache | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1520 of file symtab.c.

References _, ALL_PSPACES, program_space::num, objfile_name(), printf_filtered(), symbol_cache_dump(), symbol_cache_key, and program_space::symfile_object_file.

Referenced by _initialize_symtab().

## ◆ maintenance_print_symbol_cache_statistics()

static void maintenance_print_symbol_cache_statistics | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1592 of file symtab.c.

References _, ALL_PSPACES, program_space::num, objfile_name(), printf_filtered(), symbol_cache_key, symbol_cache_stats(), and program_space::symfile_object_file.

Referenced by _initialize_symtab().

## ◆ make_source_files_completion_list()

completion_list make_source_files_completion_list | ( | const char * | text,
|  | const char * | word
| ) |  |

Definition at line 5381 of file symtab.c.

References add_filename_to_list(), ALL_FILETABS, symtab::filename, add_partial_filename_data::filename_seen_cache, have_full_symbols(), have_partial_symbols(), add_partial_filename_data::list, map_symbol_filenames(), maybe_add_partial_symtab_filename(), not_interesting_fname(), objfile::objfile(), filename_seen_cache::seen(), add_partial_filename_data::text, add_partial_filename_data::text_len, and add_partial_filename_data::word.

Referenced by collect_explicit_location_matches(), complete_files_symbols(), and complete_source_filenames().

## ◆ make_symbol_cache()

static struct symbol_cache* make_symbol_cache | ( | unsigned int | size | ) |
| static

Definition at line 1206 of file symtab.c.

References resize_symbol_cache(), symbol_cache_size, and XCNEW.

Referenced by get_symbol_cache().

## ◆ matching_obj_sections()

int matching_obj_sections | ( | struct obj_section * | obj_first,
|  | struct obj_section * | obj_second
| ) |  |

Definition at line 969 of file symtab.c.

References ALL_OBJFILES, gdb_assert, objfile::obfd, objfile::separate_debug_objfile, objfile::separate_debug_objfile_backlink, and obj_section::the_bfd_section.

Referenced by find_pc_sect_compunit_symtab(), find_pc_sect_psymbol(), and lookup_minimal_symbol_by_pc_section_1().

## ◆ maybe_add_partial_symtab_filename()

static void maybe_add_partial_symtab_filename | ( | const char * | filename,
|  | const char * | fullname,
|  | void * | user_data
| ) |  |
| static

Definition at line 5350 of file symtab.c.

References add_filename_to_list(), add_partial_filename_data::filename_seen_cache, add_partial_filename_data::list, not_interesting_fname(), filename_seen_cache::seen(), add_partial_filename_data::text, add_partial_filename_data::text_len, and add_partial_filename_data::word.

Referenced by make_source_files_completion_list().

## ◆ multiple_symbols_select_mode()

const char* multiple_symbols_select_mode | ( | void |  | ) |

Definition at line 252 of file symtab.c.

References multiple_symbols_mode.

Referenced by decode_line_full(), and user_select_syms().

## ◆ not_interesting_fname()

static int not_interesting_fname | ( | const char * | fname | ) |
| static

Definition at line 5320 of file symtab.c.

Referenced by make_source_files_completion_list(), and maybe_add_partial_symtab_filename().

## ◆ operator_chars()

static const char* operator_chars | ( | const char * | p,
|  | const char ** | end
| ) |  |
| static

Definition at line 3975 of file symtab.c.

References _, CP_OPERATOR_LEN, CP_OPERATOR_STR, symtab_and_line::end, error(), and startswith().

Referenced by search_symbols().

## ◆ output_partial_symbol_filename()

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

Definition at line 4155 of file symtab.c.

References output_source_filename().

Referenced by info_sources_command().

## ◆ output_source_filename()

static void output_source_filename | ( | const char * | name,
|  | struct output_source_filename_data * | data
| ) |  |
| static

Definition at line 4124 of file symtab.c.

References output_source_filename_data::filename_seen_cache, output_source_filename_data::first, fputs_filtered(), gdb_stdout, name, printf_filtered(), filename_seen_cache::seen(), and wrap_here().

Referenced by info_sources_command(), and output_partial_symbol_filename().

## ◆ print_msymbol_info()

static void print_msymbol_info | ( | struct bound_minimal_symbol | msymbol | ) |
| static

Definition at line 4544 of file symtab.c.

References BMSYMBOL_VALUE_ADDRESS, gdbarch_addr_bit(), get_objfile_arch(), hex_string_custom(), bound_minimal_symbol::minsym, MSYMBOL_PRINT_NAME, bound_minimal_symbol::objfile, and printf_filtered().

Referenced by symtab_symbol_info().

## ◆ print_symbol_info()

static void print_symbol_info | ( | enum search_domain | kind,
|  | struct symbol * | sym,
|  | int | block,
|  | const char * | last
| ) |  |
| static

Definition at line 4505 of file symtab.c.

References fputs_filtered(), gdb_stdout, LOC_TYPEDEF, printf_filtered(), STATIC_BLOCK, STRUCT_DOMAIN, SYMBOL_CLASS, SYMBOL_DOMAIN, SYMBOL_PRINT_NAME, symbol_symtab(), SYMBOL_TYPE, symtab_to_filename_for_display(), type_print(), typedef_print(), and TYPES_DOMAIN.

Referenced by rbreak_command(), and symtab_symbol_info().

## ◆ producer_is_realview()

int producer_is_realview | ( | const char * | producer | ) |

Definition at line 5605 of file symtab.c.

References startswith().

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

## ◆ rbreak_command()

static void rbreak_command | ( | const char * | regexp,
|  | int | from_tty
| ) |  |
| static

Definition at line 4637 of file symtab.c.

References break_command(), symtab::fullname, FUNCTIONS_DOMAIN, MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, print_symbol_info(), printf_filtered(), search_symbols(), skip_spaces(), string, string_printf(), SYMBOL_LINKAGE_NAME, symbol_symtab(), symtab_to_filename_for_display(), and symtab_to_fullname().

Referenced by _initialize_symtab(), and rbreak_command_wrapper().

## ◆ rbreak_command_wrapper()

void rbreak_command_wrapper | ( | char * | regexp,
|  | int | from_tty
| ) |  |

Definition at line 4631 of file symtab.c.

References rbreak_command().

## ◆ register_symbol_block_impl()

int register_symbol_block_impl | ( | enum address_class | aclass,
|  | const struct symbol_block_ops * | ops
| ) |  |

Definition at line 5684 of file symtab.c.

References symbol_impl::aclass, symbol_block_ops::find_frame_base_location, gdb_assert, LOC_BLOCK, MAX_SYMBOL_IMPLS, next_aclass_value, and symbol_impl::ops_block.

Referenced by _initialize_dwarf2_read().

## ◆ register_symbol_computed_impl()

int register_symbol_computed_impl | ( | enum address_class | aclass,
|  | const struct symbol_computed_ops * | ops
| ) |  |

Definition at line 5658 of file symtab.c.

References symbol_impl::aclass, symbol_computed_ops::describe_location, gdb_assert, symbol_computed_ops::get_symbol_read_needs, LOC_COMPUTED, MAX_SYMBOL_IMPLS, next_aclass_value, symbol_impl::ops_computed, symbol_computed_ops::read_variable, and symbol_computed_ops::tracepoint_var_ref.

Referenced by _initialize_dwarf2_read().

## ◆ register_symbol_register_impl()

int register_symbol_register_impl | ( | enum address_class | aclass,
|  | const struct symbol_register_ops * | ops
| ) |  |

Definition at line 5707 of file symtab.c.

References symbol_impl::aclass, gdb_assert, LOC_REGISTER, LOC_REGPARM_ADDR, MAX_SYMBOL_IMPLS, next_aclass_value, and symbol_impl::ops_register.

Referenced by _initialize_coffread(), _initialize_mdebugread(), and _initialize_stabsread().

## ◆ resize_symbol_cache()

static void resize_symbol_cache | ( | struct symbol_cache * | cache,
|  | unsigned int | new_size
| ) |  |
| static

Definition at line 1171 of file symtab.c.

References symbol_cache::global_symbols, block_symbol_cache::size, symbol_cache::static_symbols, symbol_cache_byte_size(), xcalloc(), and xfree().

Referenced by make_symbol_cache(), and set_symbol_cache_size().

## ◆ search_domain_name()

const char* search_domain_name | ( | enum search_domain | e | ) |

Definition at line 277 of file symtab.c.

References ALL_DOMAIN, FUNCTIONS_DOMAIN, gdb_assert_not_reached, TYPES_DOMAIN, and VARIABLES_DOMAIN.

Referenced by debug_qf_expand_symtabs_matching().

## ◆ search_name_hash()

unsigned int search_name_hash | ( | enum language | language,
|  | const char * | search_name
| ) |  |

Definition at line 1859 of file symtab.c.

References language_defn::la_search_name_hash, and language_def().

Referenced by add_minsym_to_demangled_hash_table(), and insert_symbol_hashed().

## ◆ search_symbols()

std::vector<symbol_search> search_symbols | ( | const char * | regexp,
|  | enum search_domain | kind,
|  | int | nfiles,
|  | const char * | files[]
| ) |  |

Definition at line 4269 of file symtab.c.

References _, ALL_BLOCK_SYMBOLS, ALL_COMPUNITS, ALL_MSYMBOLS, basenames_may_differ, BLOCKVECTOR_BLOCK, case_sensitive_off, COMPUNIT_BLOCKVECTOR, minimal_symbol::created_by_gdb, gdb::optional< T >::emplace(), compiled_regex::exec(), expand_symtabs_matching(), file_matches(), minimal_symbol::filename, symtab::filename, find_pc_compunit_symtab(), FUNCTIONS_DOMAIN, gdb_assert, GLOBAL_BLOCK, LOC_BLOCK, LOC_CONST, LOC_TYPEDEF, LOC_UNRESOLVED, lookup_symbol_in_objfile_from_linkage_name(), lookup_name_info::match_any(), mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, MSYMBOL_LINKAGE_NAME, MSYMBOL_NATURAL_NAME, MSYMBOL_TYPE, MSYMBOL_VALUE_ADDRESS, objfile::objfile(), operator_chars(), QUIT, sort_search_symbols_remove_dups(), STATIC_BLOCK, block_symbol::symbol, SYMBOL_CLASS, SYMBOL_NATURAL_NAME, symbol_symtab(), SYMBOL_TYPE, symtab_to_fullname(), TYPE_CODE, TYPE_CODE_ENUM, TYPES_DOMAIN, VAR_DOMAIN, and VARIABLES_DOMAIN.

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

## ◆ set_main_name()

static void set_main_name | ( | const char * | name,
|  | enum language | lang
| ) |  |
| static

Definition at line 5476 of file symtab.c.

References get_main_info(), main_info::language_of_main, language_unknown, name, main_info::name_of_main, and xfree().

Referenced by find_main_name(), and symtab_observer_executable_changed().

## ◆ set_symbol_cache_size()

static void set_symbol_cache_size | ( | unsigned int | new_size | ) |
| static

Definition at line 1257 of file symtab.c.

References ALL_PSPACES, resize_symbol_cache(), and symbol_cache_key.

Referenced by set_symbol_cache_size_handler().

## ◆ set_symbol_cache_size_handler()

static void set_symbol_cache_size_handler | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 1275 of file symtab.c.

References _, error(), MAX_SYMBOL_CACHE_SIZE, new_symbol_cache_size, set_symbol_cache_size(), and symbol_cache_size.

Referenced by _initialize_symtab().

## ◆ skip_prologue_sal()

void skip_prologue_sal | ( | struct symtab_and_line * | sal | ) |

Definition at line 3671 of file symtab.c.

References BLOCK_END, block_for_pc_sect(), BLOCK_FUNCTION, block_inlined_p(), BLOCK_START, BLOCK_SUPERBLOCK, BMSYMBOL_VALUE_ADDRESS, COMPUNIT_LOCATIONS_VALID, symtab_and_line::end, symtab_and_line::explicit_line, symtab_and_line::explicit_pc, find_pc_sect_function(), find_pc_sect_line(), fixup_symbol_section(), gdbarch_deprecated_function_start_offset(), gdbarch_skip_entrypoint(), gdbarch_skip_entrypoint_p(), gdbarch_skip_main_prologue(), gdbarch_skip_main_prologue_p(), gdbarch_skip_prologue_noexcept(), get_objfile_arch(), symtab_and_line::line, lookup_minimal_symbol_by_pc_section(), bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, MSYMBOL_OBJ_SECTION, name, bound_minimal_symbol::objfile, objfile::objfile(), overlay_mapped_address(), overlay_unmapped_address(), symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, section_is_mapped(), section_is_overlay(), skip_prologue_using_lineinfo(), strcmp_iw(), switch_to_program_space_and_thread(), SYMBOL_BLOCK_VALUE, SYMBOL_LINE, SYMBOL_LINKAGE_NAME, SYMBOL_OBJ_SECTION, symbol_objfile(), symbol_symtab(), symtab_and_line::symtab, and SYMTAB_COMPUNIT.

Referenced by create_sals_line_offset(), find_function_start_sal(), minsym_found(), and resolve_sal_pc().

## ◆ skip_prologue_using_lineinfo()

static CORE_ADDR skip_prologue_using_lineinfo | ( | CORE_ADDR | func_addr,
|  | struct symtab * | symtab
| ) |  |
| static

Definition at line 3631 of file symtab.c.

References find_pc_partial_function(), linetable::item, linetable_entry::line, linetable::nitems, linetable_entry::pc, and SYMTAB_LINETABLE.

Referenced by skip_prologue_sal().

## ◆ skip_prologue_using_sal()

CORE_ADDR skip_prologue_using_sal | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | func_addr
| ) |  |

Definition at line 3854 of file symtab.c.

References block_for_pc(), BLOCK_FUNCTION, block_inlined_p(), BLOCK_SUPERBLOCK, symtab_and_line::end, find_pc_line(), find_pc_partial_function(), gdbarch_deprecated_function_start_offset(), linetable::item, symtab::language, language_asm, linetable_entry::line, symtab_and_line::line, linetable::nitems, linetable_entry::pc, symtab_and_line::pc, symtab_and_line::symtab, and SYMTAB_LINETABLE.

Referenced by aarch64_skip_prologue(), amd64_skip_prologue(), amd64_windows_skip_prologue(), arc_skip_prologue(), arm_skip_prologue(), avr_skip_prologue(), frv_analyze_prologue(), ft32_skip_prologue(), i386_skip_prologue(), lm32_skip_prologue(), m32c_skip_prologue(), mips_skip_prologue(), moxie_skip_prologue(), mt_frame_unwind_cache(), nds32_skip_prologue(), nios2_skip_prologue(), or1k_skip_prologue(), rs6000_skip_prologue(), s390_skip_prologue(), sh_skip_prologue(), tic6x_skip_prologue(), and tilegx_skip_prologue().

## ◆ sort_search_symbols_remove_dups()

static void sort_search_symbols_remove_dups | ( | std::vector< symbol_search > * | result | ) |
| static

Definition at line 4247 of file symtab.c.

Referenced by search_symbols().

## ◆ symbol_arch()

struct gdbarch* symbol_arch | ( | const struct symbol * | symbol | ) |

Definition at line 5793 of file symtab.c.

References symbol::arch, get_objfile_arch(), symbol::owner, SYMBOL_OBJFILE_OWNED, symbol::symtab, and SYMTAB_OBJFILE.

Referenced by block_gdbarch(), cp_lookup_symbol_imports_or_template(), default_read_var_value(), find_function_start_sal(), info_address_command(), info_scope_command(), and syscm_get_symbol_map().

## ◆ symbol_cache_byte_size()

static size_t symbol_cache_byte_size | ( | unsigned int | size | ) |
| static

Definition at line 1162 of file symtab.c.

References size.

Referenced by resize_symbol_cache().

## ◆ symbol_cache_cleanup()

static void symbol_cache_cleanup | ( | struct program_space * | pspace,
|  | void * | data
| ) |  |
| static

Definition at line 1247 of file symtab.c.

References free_symbol_cache().

Referenced by _initialize_symtab().

## ◆ symbol_cache_clear_slot()

static void symbol_cache_clear_slot | ( | struct symbol_cache_slot * | slot | ) |
| static

Definition at line 1360 of file symtab.c.

References symbol_cache_slot::not_found, symbol_cache_slot::state, SYMBOL_SLOT_NOT_FOUND, SYMBOL_SLOT_UNUSED, symbol_cache_slot::value, and xfree().

Referenced by symbol_cache_flush(), symbol_cache_mark_found(), and symbol_cache_mark_not_found().

## ◆ symbol_cache_dump()

static void symbol_cache_dump | ( | const struct symbol_cache * | cache | ) |
| static

Definition at line 1464 of file symtab.c.

References domain_name(), symbol_cache_slot::found, symbol_cache::global_symbols, host_address_to_string, symbol_cache_slot::not_found, symbol_cache_slot::objfile_context, printf_filtered(), QUIT, block_symbol_cache::size, symbol_cache_slot::state, symbol_cache::static_symbols, block_symbol::symbol, SYMBOL_DOMAIN, SYMBOL_PRINT_NAME, SYMBOL_SLOT_FOUND, SYMBOL_SLOT_NOT_FOUND, SYMBOL_SLOT_UNUSED, block_symbol_cache::symbols, and symbol_cache_slot::value.

Referenced by maintenance_print_symbol_cache().

## ◆ symbol_cache_flush()

static void symbol_cache_flush | ( | struct program_space * | pspace | ) |
| static

Definition at line 1418 of file symtab.c.

References block_symbol_cache::collisions, gdb_assert, symbol_cache::global_symbols, block_symbol_cache::hits, block_symbol_cache::misses, block_symbol_cache::size, symbol_cache::static_symbols, symbol_cache_clear_slot(), symbol_cache_key, symbol_cache_size, and block_symbol_cache::symbols.

Referenced by maintenance_flush_symbol_cache(), symtab_free_objfile_observer(), and symtab_new_objfile_observer().

## ◆ symbol_cache_lookup()

static struct block_symbol symbol_cache_lookup | ( | struct symbol_cache * | cache,
|  | struct objfile * | objfile_context,
|  | int | block,
|  | const char * | name,
|  | domain_enum | domain,
|  | struct block_symbol_cache ** | bsc_ptr,
|  | struct symbol_cache_slot ** | slot_ptr
| ) |  |
| static

Definition at line 1302 of file symtab.c.

References symbol_cache_slot::domain, domain_name(), eq_symbol_entry(), symbol_cache_slot::found, fprintf_unfiltered(), gdb_stdlog, GLOBAL_BLOCK, hash(), hash_symbol_entry(), block_symbol_cache::hits, block_symbol_cache::misses, name, symbol_cache_slot::objfile_context, block_symbol_cache::size, symbol_cache_slot::state, symbol_lookup_debug, SYMBOL_LOOKUP_FAILED, SYMBOL_SLOT_NOT_FOUND, block_symbol_cache::symbols, and symbol_cache_slot::value.

Referenced by lookup_global_symbol(), and lookup_static_symbol().

## ◆ symbol_cache_mark_found()

static void symbol_cache_mark_found | ( | struct block_symbol_cache * | bsc,
|  | struct symbol_cache_slot * | slot,
|  | struct objfile * | objfile_context,
|  | struct symbol * | symbol,
|  | const struct block * | block
| ) |  |
| static

Definition at line 1373 of file symtab.c.

References block_symbol::block, block_symbol_cache::collisions, symbol_cache_slot::found, symbol_cache_slot::objfile_context, symbol_cache_slot::state, symbol, block_symbol::symbol, symbol_cache_clear_slot(), SYMBOL_SLOT_FOUND, SYMBOL_SLOT_UNUSED, and symbol_cache_slot::value.

Referenced by lookup_global_symbol(), and lookup_static_symbol().

## ◆ symbol_cache_mark_not_found()

static void symbol_cache_mark_not_found | ( | struct block_symbol_cache * | bsc,
|  | struct symbol_cache_slot * | slot,
|  | struct objfile * | objfile_context,
|  | const char * | name,
|  | domain_enum | domain
| ) |  |
| static

Definition at line 1397 of file symtab.c.

References block_symbol_cache::collisions, symbol_cache_slot::domain, name, symbol_cache_slot::not_found, symbol_cache_slot::objfile_context, symbol_cache_slot::state, symbol_cache_clear_slot(), SYMBOL_SLOT_NOT_FOUND, SYMBOL_SLOT_UNUSED, and symbol_cache_slot::value.

Referenced by lookup_global_symbol(), and lookup_static_symbol().

## ◆ symbol_cache_stats()

static void symbol_cache_stats | ( | struct symbol_cache * | cache | ) |
| static

Definition at line 1560 of file symtab.c.

References block_symbol_cache::collisions, symbol_cache::global_symbols, block_symbol_cache::hits, block_symbol_cache::misses, printf_filtered(), QUIT, block_symbol_cache::size, and symbol_cache::static_symbols.

Referenced by maintenance_print_symbol_cache_statistics().

## ◆ symbol_demangled_name()

const char* symbol_demangled_name | ( | const struct general_symbol_info * | gsymbol | ) |

Definition at line 915 of file symtab.c.

References ada_decode_symbol(), general_symbol_info::language, language_ada, language_cplus, language_d, language_fortran, language_go, language_objc, and symbol_get_demangled_name().

## ◆ symbol_find_demangled_name()

static char* symbol_find_demangled_name | ( | struct general_symbol_info * | gsymbol,
|  | const char * | mangled
| ) |  |
| static

Definition at line 729 of file symtab.c.

References demangled_name_entry::demangled, general_symbol_info::language, language_auto, language_def(), language_sniff_from_mangled_name(), language_unknown, and nr_languages.

Referenced by symbol_set_names().

## ◆ symbol_get_demangled_name()

const char* symbol_get_demangled_name | ( | const struct general_symbol_info * | gsymbol | ) |

Definition at line 630 of file symtab.c.

References general_symbol_info::ada_mangled, general_symbol_info::demangled_name, general_symbol_info::language, language_ada, and general_symbol_info::language_specific.

Referenced by new_symbol_full(), symbol_demangled_name(), and symbol_natural_name().

## ◆ symbol_is_function_or_method() [1/2]

bool symbol_is_function_or_method | ( | symbol * | sym | ) |

Definition at line 4918 of file symtab.c.

References SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_FUNC, and TYPE_CODE_METHOD.

Referenced by completion_skip_symbol().

## ◆ symbol_is_function_or_method() [2/2]

bool symbol_is_function_or_method | ( | minimal_symbol * | msymbol | ) |

Definition at line 4933 of file symtab.c.

References mst_file_text, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, and MSYMBOL_TYPE.

## ◆ symbol_matches_domain()

int symbol_matches_domain | ( | enum language | symbol_language,
|  | domain_enum | symbol_domain,
|  | domain_enum | domain
| ) |  |

Definition at line 2700 of file symtab.c.

References symbol_cache_slot::domain, language_ada, language_cplus, language_d, language_rust, STRUCT_DOMAIN, and VAR_DOMAIN.

Referenced by ada_add_block_symbols(), block_find_symbol(), block_lookup_symbol(), block_lookup_symbol_primary(), eq_symbol_entry(), find_label_symbols_in_block(), iterate_over_symbols(), lookup_partial_symbol(), map_block(), and match_partial_symbol().

## ◆ symbol_matches_search_name()

bool symbol_matches_search_name | ( | const struct general_symbol_info * | gsymbol,
|  | const lookup_name_info & | name
| ) |  |

Definition at line 954 of file symtab.c.

References get_symbol_name_matcher(), general_symbol_info::language, language_def(), name, and symbol_search_name().

## ◆ symbol_natural_name()

const char* symbol_natural_name | ( | const struct general_symbol_info * | gsymbol | ) |

Definition at line 891 of file symtab.c.

References ada_decode_symbol(), general_symbol_info::language, language_ada, language_cplus, language_d, language_fortran, language_go, language_objc, general_symbol_info::name, and symbol_get_demangled_name().

Referenced by symbol_search_name().

## ◆ symbol_objfile()

struct objfile* symbol_objfile | ( | const struct symbol * | symbol | ) |

Definition at line 5784 of file symtab.c.

References gdb_assert, symbol::owner, SYMBOL_OBJFILE_OWNED, symbol::symtab, and SYMTAB_OBJFILE.

Referenced by block_objfile(), default_read_var_value(), find_function_in_inferior(), find_function_start_sal(), fixup_symbol_section(), frapy_block(), gdbscm_frame_block(), info_address_command(), jump_command(), operator_check_standard(), print_symbol(), set_symbol(), skip_prologue_sal(), sympy_dealloc(), and syscm_get_symbol_map().

## ◆ symbol_search_name()

const char* symbol_search_name | ( | const struct general_symbol_info * | gsymbol | ) |

Definition at line 943 of file symtab.c.

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

Referenced by ada_symbol_name_matches(), cp_fq_symbol_name_matches(), cp_symbol_name_matches(), cp_symbol_name_matches_1(), default_symbol_name_matcher(), do_full_match(), do_wild_match(), literal_symbol_name_matcher(), and symbol_matches_search_name().

## ◆ symbol_set_demangled_name()

void symbol_set_demangled_name | ( | struct general_symbol_info * | gsymbol,
|  | const char * | name,
|  | struct obstack * | obstack
| ) |  |

Definition at line 606 of file symtab.c.

References general_symbol_info::ada_mangled, general_symbol_info::demangled_name, general_symbol_info::language, language_ada, general_symbol_info::language_specific, name, and general_symbol_info::obstack.

Referenced by new_symbol_full(), symbol_set_language(), and symbol_set_names().

## ◆ symbol_set_language()

void symbol_set_language | ( | struct general_symbol_info * | gsymbol,
|  | enum language language | ,
|  | struct obstack * | obstack
| ) |  |

Definition at line 647 of file symtab.c.

References general_symbol_info::ada_mangled, gdb_assert, general_symbol_info::language, language_ada, language_cplus, language_d, language_fortran, language_go, language_objc, general_symbol_info::language_specific, memset(), general_symbol_info::obstack, and symbol_set_demangled_name().

## ◆ symbol_set_names()

void symbol_set_names | ( | struct general_symbol_info * | gsymbol,
|  | const char * | linkage_name,
|  | int | len,
|  | int | copy_name,
|  | struct objfile * | objfile
| ) |  |

Definition at line 773 of file symtab.c.

References copy_name(), create_demangled_names_hash(), demangled_name_entry::demangled, objfile_per_bfd_storage::demangled_names_hash, general_symbol_info::language, language_ada, language_go, demangled_name_entry::mangled, name, general_symbol_info::name, objfile::per_bfd, objfile_per_bfd_storage::storage_obstack, symbol_find_demangled_name(), symbol_set_demangled_name(), and xfree().

## ◆ symbol_set_symtab()

void symbol_set_symtab | ( | struct symbol * | symbol,
|  | struct symtab * | symtab
| ) |  |

Definition at line 5812 of file symtab.c.

References gdb_assert, symbol::owner, SYMBOL_OBJFILE_OWNED, and symbol::symtab.

Referenced by add_symbol(), end_symtab_with_blockvector(), finalize_symtab(), new_symbol_full(), and set_missing_symtab().

## ◆ symbol_symtab()

struct symtab* symbol_symtab | ( | const struct symbol * | symbol | ) |

Definition at line 5803 of file symtab.c.

References gdb_assert, symbol::owner, SYMBOL_OBJFILE_OWNED, and symbol::symtab.

Referenced by btrace_call_history_src_line(), btrace_compute_src_line_range(), cache_symbol(), symbol_search::compare_search_syms(), compare_symbols(), convert_linespec_to_sals(), convert_one_symbol(), end_symtab_with_blockvector(), find_frame_sal(), find_method(), fixup_go_packaging(), fixup_symbol_section(), ftrace_function_switched(), ftrace_print_filename(), gdbpy_rbreak(), gdbscm_symbol_symtab(), print_symbol_info(), rbreak_command(), search_symbols(), set_missing_symtab(), set_symbol(), skip_prologue_sal(), symbol_to_sal(), sympy_dealloc(), sympy_get_symtab(), symtab_symbol_info(), and user_select_syms().

## ◆ symtab_free_objfile_observer()

static void symtab_free_objfile_observer | ( | struct objfile * | objfile | ) |
| static

Definition at line 1628 of file symtab.c.

References objfile::pspace, and symbol_cache_flush().

Referenced by _initialize_symtab().

## ◆ symtab_new_objfile_observer()

static void symtab_new_objfile_observer | ( | struct objfile * | objfile | ) |
| static

Definition at line 1619 of file symtab.c.

References current_program_space, and symbol_cache_flush().

Referenced by _initialize_symtab().

## ◆ symtab_observer_executable_changed()

static void symtab_observer_executable_changed | ( | void |  | ) |
| static

Definition at line 5595 of file symtab.c.

References language_unknown, and set_main_name().

Referenced by _initialize_symtab().

## ◆ symtab_symbol_info()

static void symtab_symbol_info | ( | const char * | regexp,
|  | enum search_domain | kind,
|  | int | from_tty
| ) |  |
| static

Definition at line 4566 of file symtab.c.

References _, gdb_assert, print_msymbol_info(), print_symbol_info(), printf_filtered(), QUIT, search_symbols(), symbol_symtab(), symtab_to_filename_for_display(), and TYPES_DOMAIN.

Referenced by info_functions_command(), info_types_command(), and info_variables_command().

## Variable Documentation

## ◆ basenames_may_differ

int basenames_may_differ = 0

Definition at line 231 of file symtab.c.

Referenced by _initialize_symtab(), skiplist_entry::do_skip_file_p(), skiplist_entry::do_skip_gfile_p(), dw2_map_symtabs_matching_filename(), dw_expand_symtabs_matching_file_matcher(), iterate_over_some_symtabs(), psym_expand_symtabs_matching(), psym_expand_symtabs_with_fullname(), psym_map_symtabs_matching_filename(), and search_symbols().

## ◆ main_progspace_key

const struct program_space_data* main_progspace_key
| static

Definition at line 100 of file symtab.c.

Referenced by _initialize_symtab(), and get_main_info().

## ◆ multiple_symbols_all

const char multiple_symbols_all[] = "all"

Definition at line 238 of file symtab.c.

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

## ◆ multiple_symbols_ask

const char multiple_symbols_ask[] = "ask"

Definition at line 237 of file symtab.c.

Referenced by decode_line_full().

## ◆ multiple_symbols_cancel

const char multiple_symbols_cancel[] = "cancel"

Definition at line 239 of file symtab.c.

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

## ◆ multiple_symbols_mode

const char* multiple_symbols_mode = multiple_symbols_all
| static

Definition at line 247 of file symtab.c.

Referenced by _initialize_symtab(), and multiple_symbols_select_mode().

## ◆ multiple_symbols_modes

const char* const multiple_symbols_modes[]
| static

Initial value:
=
{
multiple_symbols_ask,
multiple_symbols_all,
multiple_symbols_cancel,
NULL
}
multiple_symbols_cancel
const char multiple_symbols_cancel[]
Definition: symtab.c:239
multiple_symbols_ask
const char multiple_symbols_ask[]
Definition: symtab.c:237
multiple_symbols_all
const char multiple_symbols_all[]
Definition: symtab.c:238

Definition at line 240 of file symtab.c.

Referenced by _initialize_symtab().

## ◆ new_symbol_cache_size

unsigned int new_symbol_cache_size = DEFAULT_SYMBOL_CACHE_SIZE
| static

Definition at line 221 of file symtab.c.

Referenced by _initialize_symtab(), and set_symbol_cache_size_handler().

## ◆ next_aclass_value

int next_aclass_value = LOC_FINAL_VALUE
| static

Definition at line 5631 of file symtab.c.

Referenced by register_symbol_block_impl(), register_symbol_computed_impl(), and register_symbol_register_impl().

## ◆ null_block_symbol

const struct block_symbol null_block_symbol = { NULL, NULL }

Definition at line 96 of file symtab.c.

Referenced by cp_lookup_bare_symbol(), cp_lookup_nested_symbol(), cp_lookup_nested_symbol_1(), cp_lookup_symbol_via_all_imports(), cp_lookup_symbol_via_imports(), cp_search_static_and_baseclasses(), d_lookup_nested_symbol(), d_lookup_symbol(), d_lookup_symbol_imports(), and d_lookup_symbol_module().

## ◆ symbol_cache_key

const struct program_space_data* symbol_cache_key
| static

Definition at line 117 of file symtab.c.

Referenced by _initialize_symtab(), get_symbol_cache(), maintenance_print_symbol_cache(), maintenance_print_symbol_cache_statistics(), set_symbol_cache_size(), and symbol_cache_flush().

## ◆ symbol_cache_size

unsigned int symbol_cache_size = DEFAULT_SYMBOL_CACHE_SIZE
| static

Definition at line 226 of file symtab.c.

Referenced by get_symbol_cache(), make_symbol_cache(), set_symbol_cache_size_handler(), and symbol_cache_flush().

## ◆ symbol_impl

struct symbol_impl symbol_impl[MAX_SYMBOL_IMPLS]
| static

Definition at line 5641 of file symtab.c.

## ◆ symbol_impls

const struct symbol_impl* symbol_impls = &symbol_impl[0]

Definition at line 5646 of file symtab.c.

## ◆ symbol_lookup_debug

unsigned int symbol_lookup_debug = 0

Definition at line 218 of file symtab.c.

Referenced by _initialize_symtab(), cp_lookup_nested_symbol(), cp_lookup_symbol_imports_or_template(), cp_lookup_symbol_namespace(), cp_lookup_symbol_nonlocal(), language_lookup_primitive_type_as_symbol(), lookup_language_this(), lookup_minimal_symbol(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_objfile(), lookup_symbol_in_objfile_symtabs(), lookup_symbol_in_static_block(), lookup_symbol_via_quick_fns(), rust_lookup_symbol_nonlocal(), and symbol_cache_lookup().

## ◆ symtab_create_debug

unsigned int symtab_create_debug = 0

Definition at line 215 of file symtab.c.

Referenced by _initialize_symtab(), allocate_compunit_symtab(), allocate_psymtab(), allocate_symtab(), elf_read_minimal_symbols(), and minimal_symbol_reader::install().