GDB (xrefs)

Classes | Macros | Functions | Variables
/tmp/gdb-8.1/gdb/minsyms.c File Reference
`#include "defs.h"`
`#include <ctype.h>`
`#include "symtab.h"`
`#include "bfd.h"`
`#include "filenames.h"`
`#include "symfile.h"`
`#include "objfiles.h"`
`#include "demangle.h"`
`#include "value.h"`
`#include "cp-abi.h"`
`#include "target.h"`
`#include "cp-support.h"`
`#include "language.h"`
`#include "cli/cli-utils.h"`
`#include "symbol.h"`
`#include <algorithm>`
`#include "safe-ctype.h"`

Go to the source code of this file.

## Classes
struct | msym_bunch
struct | found_minimal_symbols

## Macros
#define | BUNCH_SIZE 127

## Functions
bool | msymbol_is_function (struct objfile *objfile, minimal_symbol *minsym, CORE_ADDR *func_address_p)
unsigned int | msymbol_hash_iw (const char *string)
unsigned int | msymbol_hash (const char *string)
static void | add_minsym_to_hash_table (struct minimal_symbol *sym, struct minimal_symbol **table)
static void | add_minsym_to_demangled_hash_table (struct minimal_symbol *sym, struct objfile *objfile)
static void | lookup_minimal_symbol_mangled (const char *lookup_name, const char *sfile, struct objfile *objfile, struct minimal_symbol **table, unsigned int hash, int(*namecmp)(const char *, const char *), found_minimal_symbols &found)
static void | lookup_minimal_symbol_demangled (const lookup_name_info &lookup_name, const char *sfile, struct objfile *objfile, struct minimal_symbol **table, unsigned int hash, symbol_name_matcher_ftype *matcher, found_minimal_symbols &found)
struct bound_minimal_symbol | lookup_minimal_symbol (const char *name, const char *sfile, struct objfile *objf)
struct bound_minimal_symbol | lookup_bound_minimal_symbol (const char *name)
int | find_minimal_symbol_address (const char *name, CORE_ADDR *addr, struct objfile *objfile)
static const char * | linkage_name_str (const lookup_name_info &lookup_name)
void | iterate_over_minimal_symbols (struct objfile *objf, const lookup_name_info &lookup_name, void(*callback)(struct minimal_symbol *, void *), void *user_data)
struct bound_minimal_symbol | lookup_minimal_symbol_text (const char *name, struct objfile *objf)
struct minimal_symbol * | lookup_minimal_symbol_by_pc_name (CORE_ADDR pc, const char *name, struct objfile *objf)
struct bound_minimal_symbol | lookup_minimal_symbol_solib_trampoline (const char *name, struct objfile *objf)
static int | frob_address (struct objfile *objfile, CORE_ADDR *pc)
static struct bound_minimal_symbol | lookup_minimal_symbol_by_pc_section_1 (CORE_ADDR pc_in, struct obj_section *section, int want_trampoline)
struct bound_minimal_symbol | lookup_minimal_symbol_by_pc_section (CORE_ADDR pc, struct obj_section *section)
struct bound_minimal_symbol | lookup_minimal_symbol_by_pc (CORE_ADDR pc)
int | in_gnu_ifunc_stub (CORE_ADDR pc)
static CORE_ADDR | stub_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
static int | stub_gnu_ifunc_resolve_name (const char *function_name, CORE_ADDR *function_address_p)
static void | stub_gnu_ifunc_resolver_stop (struct breakpoint *b)
static void | stub_gnu_ifunc_resolver_return_stop (struct breakpoint *b)
struct bound_minimal_symbol | lookup_minimal_symbol_and_objfile (const char *name)
static int | get_symbol_leading_char (bfd *abfd)
static int | compare_minimal_symbols (const void *fn1p, const void *fn2p)
static int | compact_minimal_symbols (struct minimal_symbol *msymbol, int mcount, struct objfile *objfile)
static void | build_minimal_symbol_hash_tables (struct objfile *objfile)
void | terminate_minimal_symbol_table (struct objfile *objfile)
static struct minimal_symbol * | lookup_solib_trampoline_symbol_by_pc (CORE_ADDR pc)
CORE_ADDR | find_solib_trampoline_target (struct frame_info *frame, CORE_ADDR pc)
CORE_ADDR | minimal_symbol_upper_bound (struct bound_minimal_symbol minsym)

## Variables
static const struct gnu_ifunc_fns | stub_gnu_ifunc_fns
const struct gnu_ifunc_fns * | gnu_ifunc_fns_p = &stub_gnu_ifunc_fns

## Macro Definition Documentation

## ◆ BUNCH_SIZE

#define BUNCH_SIZE 127

Definition at line 96 of file minsyms.c.

Referenced by minimal_symbol_reader::install(), and minimal_symbol_reader::record_full().

## Function Documentation

## ◆ add_minsym_to_demangled_hash_table()

static void add_minsym_to_demangled_hash_table | ( | struct minimal_symbol * | sym,
|  | struct objfile * | objfile
| ) |  |
| static

Definition at line 153 of file minsyms.c.

References objfile_per_bfd_storage::demangled_hash_languages, minimal_symbol::demangled_hash_next, hash(), MINIMAL_SYMBOL_HASH_SIZE, objfile_per_bfd_storage::msymbol_demangled_hash, MSYMBOL_LANGUAGE, MSYMBOL_SEARCH_NAME, objfile::per_bfd, and search_name_hash().

Referenced by build_minimal_symbol_hash_tables().

## ◆ add_minsym_to_hash_table()

static void add_minsym_to_hash_table | ( | struct minimal_symbol * | sym,
|  | struct minimal_symbol ** | table
| ) |  |
| static

Definition at line 137 of file minsyms.c.

References hash(), minimal_symbol::hash_next, MINIMAL_SYMBOL_HASH_SIZE, msymbol_hash(), and MSYMBOL_LINKAGE_NAME.

Referenced by build_minimal_symbol_hash_tables().

## ◆ build_minimal_symbol_hash_tables()

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

Definition at line 1295 of file minsyms.c.

References add_minsym_to_demangled_hash_table(), add_minsym_to_hash_table(), minimal_symbol::demangled_hash_next, minimal_symbol::hash_next, objfile_per_bfd_storage::minimal_symbol_count, MINIMAL_SYMBOL_HASH_SIZE, objfile_per_bfd_storage::msymbol_demangled_hash, objfile_per_bfd_storage::msymbol_hash, MSYMBOL_LINKAGE_NAME, MSYMBOL_SEARCH_NAME, objfile_per_bfd_storage::msymbols, and objfile::per_bfd.

Referenced by minimal_symbol_reader::install().

## ◆ compact_minimal_symbols()

static int compact_minimal_symbols | ( | struct minimal_symbol * | msymbol,
|  | int | mcount,
|  | struct objfile * | objfile
| ) |  |
| static

Definition at line 1258 of file minsyms.c.

References mst_unknown, MSYMBOL_LINKAGE_NAME, MSYMBOL_SECTION, MSYMBOL_TYPE, and MSYMBOL_VALUE_RAW_ADDRESS.

Referenced by minimal_symbol_reader::install().

## ◆ compare_minimal_symbols()

static int compare_minimal_symbols | ( | const void * | fn1p,
|  | const void * | fn2p
| ) |  |
| static

Definition at line 1188 of file minsyms.c.

References MSYMBOL_LINKAGE_NAME, and MSYMBOL_VALUE_RAW_ADDRESS.

Referenced by minimal_symbol_reader::install().

## ◆ find_minimal_symbol_address()

int find_minimal_symbol_address | ( | const char * | name,
|  | CORE_ADDR * | addr,
|  | struct objfile * | objfile
| ) |  |

Definition at line 438 of file minsyms.c.

References BMSYMBOL_VALUE_ADDRESS, lookup_minimal_symbol(), bound_minimal_symbol::minsym, and name.

Referenced by agent_look_up_symbols().

## ◆ find_solib_trampoline_target()

CORE_ADDR find_solib_trampoline_target | ( | struct frame_info * | frame,
|  | CORE_ADDR | pc
| ) |  |

Definition at line 1492 of file minsyms.c.

References ALL_MSYMBOLS, current_target, func, gdbarch_convert_from_func_ptr_addr(), get_objfile_arch(), lookup_solib_trampoline_symbol_by_pc(), mst_data, mst_text, mst_text_gnu_ifunc, MSYMBOL_LINKAGE_NAME, MSYMBOL_TYPE, MSYMBOL_VALUE_ADDRESS, and objfile::objfile().

Referenced by aarch64_linux_init_abi(), alpha_gdbarch_init(), alpha_linux_init_abi(), amd64_linux_init_abi_common(), arm_linux_skip_trampoline_code(), i386_linux_init_abi(), i386_svr4_init_abi(), ia64_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), mips_skip_trampoline_code(), nios2_linux_init_abi(), obsd_skip_solib_resolver(), ppc64_skip_trampoline_code_1(), ppcfbsd_init_abi(), rs6000_skip_trampoline_code(), s390_gdbarch_init(), sh_linux_init_abi(), sparc32_linux_init_abi(), sparc32_sol2_init_abi(), sparc64_linux_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), and tilegx_linux_init_abi().

## ◆ frob_address()

static int frob_address | ( | struct objfile * | objfile,
|  | CORE_ADDR * | pc
| ) |  |
| static

Definition at line 642 of file minsyms.c.

References ALL_OBJFILE_OSECTIONS, obj_section_addr, obj_section_endaddr, and obj_section_offset.

Referenced by lookup_minimal_symbol_by_pc_section_1().

## ◆ get_symbol_leading_char()

static int get_symbol_leading_char | ( | bfd * | abfd | ) |
| static

Definition at line 1040 of file minsyms.c.

References symfile_objfile.

Referenced by minimal_symbol_reader::record_full().

## ◆ in_gnu_ifunc_stub()

int in_gnu_ifunc_stub | ( | CORE_ADDR | pc | ) |

Definition at line 945 of file minsyms.c.

References lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, mst_text_gnu_ifunc, and MSYMBOL_TYPE.

Referenced by svr4_in_dynsym_resolve_code().

## ◆ iterate_over_minimal_symbols()

void iterate_over_minimal_symbols | ( | struct objfile * | objf,
|  | const lookup_name_info & | lookup_name,
|  | void(*)(struct minimal_symbol *, void *) | callback,
|  | void * | user_data
| ) |  |

Definition at line 472 of file minsyms.c.

References case_sensitive_on, objfile_per_bfd_storage::demangled_hash_languages, minimal_symbol::demangled_hash_next, get_symbol_name_matcher(), hash(), minimal_symbol::hash_next, language_def(), linkage_name_str(), MINIMAL_SYMBOL_HASH_SIZE, objfile_per_bfd_storage::msymbol_demangled_hash, msymbol_hash(), objfile_per_bfd_storage::msymbol_hash, MSYMBOL_LINKAGE_NAME, MSYMBOL_SEARCH_NAME, name, objfile::per_bfd, and lookup_name_info::search_name_hash().

Referenced by search_minsyms_for_name().

## ◆ linkage_name_str()

static const char* linkage_name_str | ( | const lookup_name_info & | lookup_name | ) |
| static

Definition at line 454 of file minsyms.c.

References lookup_name_info::ada(), current_language, language_defn::la_language, language_ada, ada_lookup_name_info::lookup_name(), and lookup_name_info::name().

Referenced by iterate_over_minimal_symbols().

## ◆ lookup_bound_minimal_symbol()

struct bound_minimal_symbol lookup_bound_minimal_symbol | ( | const char * | name | ) |

Definition at line 430 of file minsyms.c.

References lookup_minimal_symbol(), and name.

Referenced by find_function_in_inferior(), find_objc_msgsend(), gcc_symbol_address(), info_address_command(), simple_read_overlay_table(), value_fn_field(), write_dollar_variable(), and yyparse().

## ◆ lookup_minimal_symbol()

struct bound_minimal_symbol lookup_minimal_symbol | ( | const char * | name,
|  | const char * | sfile,
|  | struct objfile * | objf
| ) |  |

Definition at line 311 of file minsyms.c.

References case_sensitive_on, objfile_per_bfd_storage::demangled_hash_languages, found_minimal_symbols::external_symbol, found_minimal_symbols::file_symbol, fprintf_unfiltered(), FULL, gdb_stdlog, get_symbol_name_matcher(), hash(), host_address_to_string, language_def(), lookup_minimal_symbol_demangled(), lookup_minimal_symbol_mangled(), MINIMAL_SYMBOL_HASH_SIZE, bound_minimal_symbol::minsym, objfile_per_bfd_storage::msymbol_demangled_hash, msymbol_hash(), objfile_per_bfd_storage::msymbol_hash, name, objfile::next, object_files, objfile::objfile(), objfile_debug_name(), objfile::per_bfd, lookup_name_info::search_name_hash(), objfile::separate_debug_objfile_backlink, symbol_lookup_debug, and found_minimal_symbols::trampoline_symbol.

Referenced by ada_has_this_exception_support(), ada_main_name(), ada_tasks_inferior_data_sniffer(), ada_update_initial_language(), arm_skip_stub(), avr_scan_prologue(), bsd_uthread_lookup_address(), call_site_to_target_addr(), call_target_sbrk(), checkpoint_command(), coff_symfile_read(), compile_object_load(), convert_code_addr_to_desc_addr(), create_exception_master_breakpoint(), create_std_terminate_master_breakpoint(), d_main_name(), dbx_end_psymtab(), define_symbol(), elf_gnu_ifunc_resolve_by_got(), elf_locate_base(), enable_break(), evaluate_subexp_standard(), find_imps(), find_minimal_symbol_address(), find_stab_function_addr(), flush_ea_cache(), frv_frame_this_id(), ft32_analyze_prologue(), gcc_convert_symbol(), gen_var_ref(), get_running_thread_msymbol(), glibc_skip_solib_resolver(), gnuv3_get_typeid(), gnuv3_skip_trampoline(), go_main_name(), has_ravenscar_runtime(), hppa_symbol_address(), inferior_call_waitpid(), inferior_has_bug(), info_scope_command(), inside_main_func(), jit_breakpoint_re_set_internal(), ld_so_xfer_auxv(), lm_base(), lookup_bound_minimal_symbol(), lookup_child_selector(), lookup_objc_class(), m32c_m16c_address_to_pointer(), m32c_m16c_pointer_to_address(), m32c_return_value(), m32r_frame_this_id(), m68hc11_get_register_info(), macho_resolve_oso_sym_with_minsym(), main_got(), minsym_lookup_iterator_cb(), mips_linux_skip_resolver(), obsd_skip_solib_resolver(), ocl_enable_break(), pascal_main_name(), pd_enable(), pdc_symbol_addrs(), ppc_linux_spe_context_lookup(), ps_pglobal_lookup(), remote_check_symbols(), simple_overlay_update(), simple_read_overlay_table(), sol2_skip_solib_resolver(), spu_catch_start(), spu_enable_break(), spu_get_overlay_table(), tui_get_begin_asm_address(), value_nsstring(), value_static_field(), and VEC().

## ◆ lookup_minimal_symbol_and_objfile()

struct bound_minimal_symbol lookup_minimal_symbol_and_objfile | ( | const char * | name | ) |

Definition at line 1008 of file minsyms.c.

References ALL_OBJFILES, hash(), minimal_symbol::hash_next, memset(), MINIMAL_SYMBOL_HASH_SIZE, bound_minimal_symbol::minsym, msymbol_hash(), objfile_per_bfd_storage::msymbol_hash, MSYMBOL_LINKAGE_NAME, name, bound_minimal_symbol::objfile, objfile::objfile(), and objfile::per_bfd.

Referenced by add_pe_forwarded_sym(), glibc_skip_solib_resolver(), info_address_command(), and jit_breakpoint_re_set_internal().

## ◆ lookup_minimal_symbol_by_pc()

struct bound_minimal_symbol lookup_minimal_symbol_by_pc | ( | CORE_ADDR | pc | ) |

Definition at line 928 of file minsyms.c.

References find_pc_section(), lookup_minimal_symbol_by_pc_section_1(), and memset().

Referenced by amd64_skip_main_prologue(), amd64_windows_skip_trampoline_code(), arm_pc_is_thumb(), arm_pe_skip_trampoline_code(), arm_skip_stack_protector(), arm_wince_skip_main_prologue(), call_site_find_chain_1(), call_site_for_pc(), call_site_to_target_addr(), convert_code_addr_to_desc_addr(), dwarf_expr_reg_to_entry_parameter(), elf_gnu_ifunc_record_cache(), find_frame_funname(), find_minsym_type_and_address(), find_pc_sect_line(), frv_skip_main_prologue(), ftrace_update_function(), func_verify_no_selftailcall(), get_function_name(), get_pc_function_start(), get_prev_frame_always_1(), gnuv2_value_rtti_type(), gnuv3_get_typename_from_type_info(), gnuv3_rtti_type(), gnuv3_skip_trampoline(), i386_pe_skip_trampoline_code(), i386_skip_main_prologue(), ia64_convert_from_func_ptr_addr(), in_gnu_ifunc_stub(), info_cb(), info_checkpoints_command(), info_frame_command(), m32c_m16c_address_to_pointer(), m32c_m16c_pointer_to_address(), m68hc11_get_return_insn(), maintenance_translate_address(), mips_make_symbol_special(), mips_pc_is_micromips(), mips_pc_is_mips(), mips_pc_is_mips16(), mips_pc_isa(), mips_skip_pic_trampoline_code(), mips_stub_frame_sniffer(), msp430_skip_trampoline_code(), pascal_val_print(), pc_is_isa32(), powerpc_linux_in_dynsym_resolve_code(), ppc_elfv2_skip_entrypoint(), print_unpacked_pointer(), py_print_frame(), read_atcb(), resolve_sal_pc(), rs6000_skip_main_prologue(), rs6000_skip_trampoline_code(), skip_prologue_function(), tailcall_dump(), and until_next_command().

## ◆ lookup_minimal_symbol_by_pc_name()

struct minimal_symbol* lookup_minimal_symbol_by_pc_name | ( | CORE_ADDR | pc,
|  | const char * | name,
|  | struct objfile * | objf
| ) |  |

Definition at line 570 of file minsyms.c.

References hash(), minimal_symbol::hash_next, MINIMAL_SYMBOL_HASH_SIZE, msymbol_hash(), objfile_per_bfd_storage::msymbol_hash, MSYMBOL_LINKAGE_NAME, MSYMBOL_VALUE_ADDRESS, name, objfile::next, object_files, objfile::objfile(), objfile::per_bfd, and objfile::separate_debug_objfile_backlink.

Referenced by arm_exidx_new_objfile(), and fixup_section().

## ◆ lookup_minimal_symbol_by_pc_section()

struct bound_minimal_symbol lookup_minimal_symbol_by_pc_section | ( | CORE_ADDR | pc,
|  | struct obj_section * | section
| ) |  |

Definition at line 906 of file minsyms.c.

References find_pc_section(), lookup_minimal_symbol_by_pc_section_1(), and memset().

Referenced by build_address_symbolic(), expand_symtab_containing_pc(), find_pc_partial_function_gnu_ifunc(), find_pc_sect_compunit_symtab(), info_symbol_command(), maintenance_translate_address(), skip_prologue_sal(), and tui_find_disassembly_address().

## ◆ lookup_minimal_symbol_by_pc_section_1()

static struct bound_minimal_symbol lookup_minimal_symbol_by_pc_section_1 | ( | CORE_ADDR | pc_in,
|  | struct obj_section * | section,
|  | int | want_trampoline
| ) |  |
| static

Definition at line 674 of file minsyms.c.

References frob_address(), gdb_assert, matching_obj_sections(), objfile_per_bfd_storage::minimal_symbol_count, bound_minimal_symbol::minsym, mst_abs, mst_solib_trampoline, mst_text, MSYMBOL_OBJ_SECTION, MSYMBOL_SIZE, MSYMBOL_TYPE, MSYMBOL_VALUE_RAW_ADDRESS, objfile_per_bfd_storage::msymbols, bound_minimal_symbol::objfile, objfile::objfile(), objfile_separate_debug_iterate(), and objfile::per_bfd.

Referenced by lookup_minimal_symbol_by_pc(), lookup_minimal_symbol_by_pc_section(), and lookup_solib_trampoline_symbol_by_pc().

## ◆ lookup_minimal_symbol_demangled()

static void lookup_minimal_symbol_demangled | ( | const lookup_name_info & | lookup_name,
|  | const char * | sfile,
|  | struct objfile * | objfile,
|  | struct minimal_symbol ** | table,
|  | unsigned int | hash,
|  | symbol_name_matcher_ftype * | matcher,
|  | found_minimal_symbols & | found
| ) |  |
| static

Definition at line 270 of file minsyms.c.

References minimal_symbol::demangled_hash_next, hash(), found_minimal_symbols::maybe_collect(), and MSYMBOL_SEARCH_NAME.

Referenced by lookup_minimal_symbol().

## ◆ lookup_minimal_symbol_mangled()

static void lookup_minimal_symbol_mangled | ( | const char * | lookup_name,
|  | const char * | sfile,
|  | struct objfile * | objfile,
|  | struct minimal_symbol ** | table,
|  | unsigned int | hash,
|  | int(*)(const char *, const char *) | namecmp,
|  | found_minimal_symbols & | found
| ) |  |
| static

Definition at line 246 of file minsyms.c.

References hash(), minimal_symbol::hash_next, found_minimal_symbols::maybe_collect(), and MSYMBOL_LINKAGE_NAME.

Referenced by lookup_minimal_symbol().

## ◆ lookup_minimal_symbol_solib_trampoline()

struct bound_minimal_symbol lookup_minimal_symbol_solib_trampoline | ( | const char * | name,
|  | struct objfile * | objf
| ) |  |

Definition at line 602 of file minsyms.c.

References hash(), minimal_symbol::hash_next, MINIMAL_SYMBOL_HASH_SIZE, bound_minimal_symbol::minsym, mst_solib_trampoline, msymbol_hash(), objfile_per_bfd_storage::msymbol_hash, MSYMBOL_LINKAGE_NAME, MSYMBOL_TYPE, name, objfile::next, object_files, bound_minimal_symbol::objfile, objfile::objfile(), objfile::per_bfd, and objfile::separate_debug_objfile_backlink.

## ◆ lookup_minimal_symbol_text()

struct bound_minimal_symbol lookup_minimal_symbol_text | ( | const char * | name,
|  | struct objfile * | objf
| ) |  |

Definition at line 519 of file minsyms.c.

References hash(), minimal_symbol::hash_next, MINIMAL_SYMBOL_HASH_SIZE, bound_minimal_symbol::minsym, mst_file_text, mst_text, mst_text_gnu_ifunc, msymbol_hash(), objfile_per_bfd_storage::msymbol_hash, MSYMBOL_LINKAGE_NAME, MSYMBOL_TYPE, name, objfile::next, object_files, bound_minimal_symbol::objfile, objfile::objfile(), objfile::per_bfd, and objfile::separate_debug_objfile_backlink.

Referenced by create_longjmp_master_breakpoint(), create_overlay_event_breakpoint(), and find_pc_sect_line().

## ◆ lookup_solib_trampoline_symbol_by_pc()

static struct minimal_symbol* lookup_solib_trampoline_symbol_by_pc | ( | CORE_ADDR | pc | ) |
| static

Definition at line 1466 of file minsyms.c.

References find_pc_section(), lookup_minimal_symbol_by_pc_section_1(), bound_minimal_symbol::minsym, mst_solib_trampoline, and MSYMBOL_TYPE.

Referenced by find_solib_trampoline_target().

## ◆ minimal_symbol_upper_bound()

CORE_ADDR minimal_symbol_upper_bound | ( | struct bound_minimal_symbol | minsym | ) |

Definition at line 1532 of file minsyms.c.

References BMSYMBOL_VALUE_ADDRESS, gdb_assert, bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, MSYMBOL_OBJ_SECTION, MSYMBOL_SECTION, MSYMBOL_SIZE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_RAW_ADDRESS, obj_section_endaddr, and bound_minimal_symbol::objfile.

Referenced by find_objc_msgsend(), and find_pc_partial_function_gnu_ifunc().

## ◆ msymbol_hash()

unsigned int msymbol_hash | ( | const char * | string | ) |

Definition at line 126 of file minsyms.c.

References hash(), string, and SYMBOL_HASH_NEXT.

Referenced by add_minsym_to_hash_table(), cache_symbol(), find_entry(), iterate_over_minimal_symbols(), lookup_minimal_symbol(), lookup_minimal_symbol_and_objfile(), lookup_minimal_symbol_by_pc_name(), lookup_minimal_symbol_solib_trampoline(), and lookup_minimal_symbol_text().

## ◆ msymbol_hash_iw()

unsigned int msymbol_hash_iw | ( | const char * | string | ) |

Definition at line 107 of file minsyms.c.

References hash(), skip_spaces(), string, and SYMBOL_HASH_NEXT.

Referenced by default_search_name_hash().

## ◆ msymbol_is_function()

bool msymbol_is_function | ( | struct objfile * | objfile,
|  | minimal_symbol * | minsym,
|  | CORE_ADDR * | func_address_p
| ) |  |

Definition at line 60 of file minsyms.c.

References current_target, gdbarch_convert_from_func_ptr_addr(), get_objfile_arch(), mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_slot_got_plt, MSYMBOL_VALUE_ADDRESS, and minimal_symbol::type.

Referenced by add_minsym(), find_function_alias_target(), and minsym_found().

## ◆ stub_gnu_ifunc_resolve_addr()

static CORE_ADDR stub_gnu_ifunc_resolve_addr | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 955 of file minsyms.c.

References _, error(), and paddress().

## ◆ stub_gnu_ifunc_resolve_name()

static int stub_gnu_ifunc_resolve_name | ( | const char * | function_name,
|  | CORE_ADDR * | function_address_p
| ) |  |
| static

Definition at line 965 of file minsyms.c.

References _, and error().

## ◆ stub_gnu_ifunc_resolver_return_stop()

static void stub_gnu_ifunc_resolver_return_stop | ( | struct breakpoint * | b | ) |
| static

Definition at line 985 of file minsyms.c.

References _, and internal_error().

## ◆ stub_gnu_ifunc_resolver_stop()

static void stub_gnu_ifunc_resolver_stop | ( | struct breakpoint * | b | ) |
| static

Definition at line 976 of file minsyms.c.

References _, and internal_error().

## ◆ terminate_minimal_symbol_table()

void terminate_minimal_symbol_table | ( | struct objfile * | objfile | ) |

Definition at line 1441 of file minsyms.c.

References language_unknown, arm-linux::m, memset(), objfile_per_bfd_storage::minimal_symbol_count, mst_unknown, MSYMBOL_SET_LANGUAGE, MSYMBOL_TYPE, objfile_per_bfd_storage::msymbols, objfile::per_bfd, and objfile_per_bfd_storage::storage_obstack.

Referenced by jit_object_close_impl(), objfile::objfile(), and reread_symbols().

## Variable Documentation

## ◆ gnu_ifunc_fns_p

const struct gnu_ifunc_fns* gnu_ifunc_fns_p = &stub_gnu_ifunc_fns

Definition at line 1003 of file minsyms.c.

Referenced by _initialize_elfread().

## ◆ stub_gnu_ifunc_fns

const struct gnu_ifunc_fns stub_gnu_ifunc_fns
| static

Initial value:
=
{
stub_gnu_ifunc_resolve_addr,
stub_gnu_ifunc_resolve_name,
stub_gnu_ifunc_resolver_stop,
stub_gnu_ifunc_resolver_return_stop,
}
stub_gnu_ifunc_resolve_addr
static CORE_ADDR stub_gnu_ifunc_resolve_addr(struct gdbarch *gdbarch, CORE_ADDR pc)
Definition: minsyms.c:955
stub_gnu_ifunc_resolver_return_stop
static void stub_gnu_ifunc_resolver_return_stop(struct breakpoint *b)
Definition: minsyms.c:985
stub_gnu_ifunc_resolver_stop
static void stub_gnu_ifunc_resolver_stop(struct breakpoint *b)
Definition: minsyms.c:976
stub_gnu_ifunc_resolve_name
static int stub_gnu_ifunc_resolve_name(const char *function_name, CORE_ADDR *function_address_p)
Definition: minsyms.c:965

Definition at line 993 of file minsyms.c.