|
GDB (xrefs)
|
#include "defs.h"#include "bfd.h"#include "elf-bfd.h"#include "elf/common.h"#include "elf/internal.h"#include "elf/mips.h"#include "symtab.h"#include "symfile.h"#include "objfiles.h"#include "buildsym.h"#include "stabsread.h"#include "gdb-stabs.h"#include "complaints.h"#include "demangle.h"#include "psympriv.h"#include "filenames.h"#include "probe.h"#include "arch-utils.h"#include "gdbtypes.h"#include "value.h"#include "infcall.h"#include "gdbthread.h"#include "regcache.h"#include "bcache.h"#include "gdb_bfd.h"#include "build-id.h"#include "location.h"#include "auxv.h"Go to the source code of this file.
Classes | |
| struct | elfinfo |
| struct | elf_gnu_ifunc_cache |
Macros | |
| #define | SYMBOL_GOT_PLT_SUFFIX "@got.plt" |
| #define | ST_REGULAR 0 |
| #define | ST_DYNAMIC 1 |
| #define | ST_SYNTHETIC 2 |
Functions | |
| static struct symfile_segment_data * | elf_symfile_segments (bfd *abfd) |
| static void | elf_locate_sections (bfd *ignore_abfd, asection *sectp, void *eip) |
| static struct minimal_symbol * | record_minimal_symbol (minimal_symbol_reader &reader, const char *name, int name_len, bool copy_name, CORE_ADDR address, enum minimal_symbol_type ms_type, asection *bfd_section, struct objfile *objfile) |
| static void | elf_symtab_read (minimal_symbol_reader &reader, struct objfile *objfile, int type, long number_of_symbols, asymbol **symbol_table, bool copy_names) |
| static void | elf_rel_plt_read (minimal_symbol_reader &reader, struct objfile *objfile, asymbol **dyn_symbol_table) |
| static hashval_t | elf_gnu_ifunc_cache_hash (const void *a_voidp) |
| static int | elf_gnu_ifunc_cache_eq (const void *a_voidp, const void *b_voidp) |
| static int | elf_gnu_ifunc_record_cache (const char *name, CORE_ADDR addr) |
| static int | elf_gnu_ifunc_resolve_by_cache (const char *name, CORE_ADDR *addr_p) |
| static int | elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p) |
| static int | elf_gnu_ifunc_resolve_name (const char *name, CORE_ADDR *addr_p) |
| static CORE_ADDR | elf_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc) |
| static void | elf_gnu_ifunc_resolver_stop (struct breakpoint *b) |
| static void | elf_gnu_ifunc_resolver_return_stop (struct breakpoint *b) |
| static void | elf_read_minimal_symbols (struct objfile *objfile, int symfile_flags, const struct elfinfo *ei) |
| static void | elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) |
| static void | read_psyms (struct objfile *objfile) |
| static void | elf_new_init (struct objfile *ignore) |
| static void | elf_symfile_finish (struct objfile *objfile) |
| static void | elf_symfile_init (struct objfile *objfile) |
| static const std::vector< probe * > & | elf_get_probes (struct objfile *objfile) |
| static void | probe_key_free (bfd *abfd, void *d) |
| void | _initialize_elfread (void) |
Variables | |
| const struct sym_fns | elf_sym_fns_gdb_index |
| const struct sym_fns | elf_sym_fns_debug_names |
| const struct sym_fns | elf_sym_fns_lazy_psyms |
| static const struct bfd_data * | probe_key = NULL |
| static const struct objfile_data * | elf_objfile_gnu_ifunc_cache_data |
| static const struct sym_probe_fns | elf_probe_fns |
| static const struct sym_fns | elf_sym_fns |
| static const struct gnu_ifunc_fns | elf_gnu_ifunc_fns |
| #define ST_DYNAMIC 1 |
Definition at line 224 of file elfread.c.
Referenced by elf_read_minimal_symbols(), and elf_symtab_read().
| #define ST_REGULAR 0 |
Definition at line 223 of file elfread.c.
Referenced by elf_read_minimal_symbols().
| #define ST_SYNTHETIC 2 |
Definition at line 225 of file elfread.c.
Referenced by elf_read_minimal_symbols(), and elf_symtab_read().
| #define SYMBOL_GOT_PLT_SUFFIX "@got.plt" |
Definition at line 75 of file elfread.c.
Referenced by elf_gnu_ifunc_resolve_by_got(), and elf_rel_plt_read().
| void _initialize_elfread | ( | void | ) |
Definition at line 1451 of file elfread.c.
References add_symtab_fns(), elf_gnu_ifunc_fns, elf_objfile_gnu_ifunc_cache_data, elf_sym_fns, gnu_ifunc_fns_p, probe_key, and probe_key_free().
Definition at line 1326 of file elfread.c.
References all_static_probe_ops, objfile::obfd, and probe_key.
|
static |
Definition at line 638 of file elfread.c.
References elf_gnu_ifunc_cache::name.
Referenced by elf_gnu_ifunc_record_cache().
|
static |
Definition at line 627 of file elfread.c.
References elf_gnu_ifunc_cache::name.
Referenced by elf_gnu_ifunc_record_cache().
|
static |
Definition at line 657 of file elfread.c.
References _, elf_gnu_ifunc_cache::addr, BMSYMBOL_VALUE_ADDRESS, dummy_obstack_deallocate(), elf_gnu_ifunc_cache_eq(), elf_gnu_ifunc_cache_hash(), elf_objfile_gnu_ifunc_cache_data, get_objfile_arch(), hashtab_obstack_allocate(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_OBJ_SECTION, name, objfile::obfd, bound_minimal_symbol::objfile, objfile::objfile(), obstack_grow_str0, paddress(), and warning().
Referenced by elf_gnu_ifunc_resolve_addr(), elf_gnu_ifunc_resolve_by_got(), and elf_gnu_ifunc_resolver_return_stop().
Definition at line 847 of file elfread.c.
References value::address, allocate_value(), builtin_type::builtin_func_func, builtin_type(), call_function_by_hand(), current_target, elf_gnu_ifunc_record_cache(), elf_gnu_ifunc_resolve_name(), find_pc_partial_function(), gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), lval_memory, set_value_address(), target_auxv_search(), value_as_address(), value_from_longest(), and VALUE_LVAL.
|
static |
Definition at line 732 of file elfread.c.
References elf_gnu_ifunc_cache::addr, ALL_PSPACE_OBJFILES, current_program_space, elf_objfile_gnu_ifunc_cache_data, gdb_assert, name, elf_gnu_ifunc_cache::name, and objfile::objfile().
Referenced by elf_gnu_ifunc_resolve_name().
|
static |
Definition at line 773 of file elfread.c.
References ALL_PSPACE_OBJFILES, BMSYMBOL_VALUE_ADDRESS, builtin_type::builtin_data_ptr, builtin_type(), current_program_space, current_target, elf_gnu_ifunc_record_cache(), extract_typed_address(), gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), get_objfile_arch(), lookup_minimal_symbol(), mst_slot_got_plt, MSYMBOL_SIZE, MSYMBOL_TYPE, name, objfile::obfd, objfile::objfile(), SYMBOL_GOT_PLT_SUFFIX, target_read_memory(), and TYPE_LENGTH.
Referenced by elf_gnu_ifunc_resolve_name().
|
static |
Definition at line 830 of file elfread.c.
References elf_gnu_ifunc_resolve_by_cache(), elf_gnu_ifunc_resolve_by_got(), and name.
Referenced by elf_gnu_ifunc_resolve_addr().
|
static |
Definition at line 944 of file elfread.c.
References _, allocate_value(), bp_breakpoint, bp_gnu_ifunc_resolver, bp_gnu_ifunc_resolver_return, builtin_type::builtin_func_func, builtin_type(), current_program_space, current_target, delete_breakpoint(), elf_gnu_ifunc_record_cache(), event_location_to_string(), find_pc_line(), gdb_assert, gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), gdbarch_return_value(), get_current_frame(), get_frame_arch(), get_thread_regcache(), inferior_ptid, internal_error(), breakpoint::loc, breakpoint::location, lval_memory, bp_location::next, breakpoint::pspace, bp_location::related_address, breakpoint::related_breakpoint, set_value_address(), breakpoint::type, TYPE_TARGET_TYPE, update_breakpoint_locations(), value_as_address(), value_contents_raw(), VALUE_LVAL, and value_type().
|
static |
Definition at line 893 of file elfread.c.
References bp_gnu_ifunc_resolver, bp_gnu_ifunc_resolver_return, current_inferior(), symtab_and_line::explicit_pc, find_pc_overlay(), breakpoint::frame_id, frame_id_eq(), frame_id_p(), gdb_assert, get_current_frame(), get_frame_arch(), get_frame_pc(), get_prev_frame(), get_stack_frame_id(), inferior_ptid, breakpoint::loc, bp_location::next, symtab_and_line::pc, inferior::pspace, symtab_and_line::pspace, ptid_to_global_thread_id(), breakpoint::related_breakpoint, bp_location::requested_address, symtab_and_line::section, set_momentary_breakpoint(), breakpoint::thread, and breakpoint::type.
|
static |
Definition at line 177 of file elfread.c.
References elfinfo::mdebugsect, and elfinfo::stabsect.
Referenced by elf_symfile_read().
|
static |
Definition at line 1295 of file elfread.c.
References buildsym_new_init(), and stabsread_new_init().
|
static |
Definition at line 1004 of file elfread.c.
References _, dbx_objfile_data_key, elf_rel_plt_read(), elf_symtab_read(), error(), fprintf_unfiltered(), gdb_stdlog, minimal_symbol_reader::install(), elfinfo::mdebugsect, objfile_per_bfd_storage::minsyms_read, objfile::obfd, objfile_name(), objfile::per_bfd, objfile::separate_debug_objfile_backlink, ST_DYNAMIC, ST_REGULAR, ST_SYNTHETIC, elfinfo::stabsect, dbx_symfile_info::symcount, symtab_create_debug, XCNEW, and xfree().
Referenced by elf_symfile_read().
|
static |
Definition at line 533 of file elfread.c.
References builtin_type::builtin_data_ptr, builtin_type(), get_objfile_arch(), mst_slot_got_plt, name, objfile::obfd, record_minimal_symbol(), objfile::separate_debug_objfile_backlink, SET_MSYMBOL_SIZE, string, SYMBOL_GOT_PLT_SUFFIX, and TYPE_LENGTH.
Referenced by elf_read_minimal_symbols().
|
static |
Definition at line 1307 of file elfread.c.
References dwarf2_free_objfile().
|
static |
Definition at line 1315 of file elfread.c.
References objfile::flags, and OBJF_REORDERED.
|
static |
Definition at line 1168 of file elfread.c.
References DEBUG_NAMES, dwarf2_has_info(), dwarf2_initialize_objfile(), elf_locate_sections(), elf_read_minimal_symbols(), elf_sym_fns_debug_names, elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms, elfmdebug_build_psymtabs(), elfstab_build_psymtabs(), find_separate_debug_file_by_buildid(), find_separate_debug_file_by_debuglink(), objfile::flags, GDB_INDEX, gdb::ref_ptr< T, Policy >::get(), memset(), objfile::obfd, OBJF_READNEVER, objfile_has_partial_symbols(), objfile_set_sym_fns(), objfile::separate_debug_objfile, objfile::separate_debug_objfile_backlink, symbol_file_add_separate(), and symfile_bfd_open().
|
static |
Definition at line 80 of file elfread.c.
References _, symfile_segment_data::num_segments, symfile_segment_data::segment_bases, symfile_segment_data::segment_info, symfile_segment_data::segment_sizes, warning(), XCNEW, and XCNEWVEC.
|
static |
Definition at line 228 of file elfread.c.
References minimal_symbol::created_by_gdb, minimal_symbol::filename, objfile_per_bfd_storage::filename_cache, gdbarch_elf_make_msymbol_special(), gdbarch_elf_make_msymbol_special_p(), gdbarch_record_special_symbol(), gdbarch_record_special_symbol_p(), get_objfile_arch(), mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, mst_unknown, MSYMBOL_SIZE, objfile::obfd, objfile::per_bfd, record_minimal_symbol(), SET_MSYMBOL_SIZE, ST_DYNAMIC, ST_SYNTHETIC, and startswith().
Referenced by elf_read_minimal_symbols().
|
static |
Definition at line 1352 of file elfread.c.
Referenced by _initialize_elfread().
|
static |
Definition at line 1281 of file elfread.c.
References dwarf2_build_psymtabs(), and dwarf2_has_info().
|
static |
Definition at line 193 of file elfread.c.
References copy_name(), gdb_bfd_section_index(), gdbarch_addr_bits_remove(), get_objfile_arch(), mst_file_text, mst_text, mst_text_gnu_ifunc, name, objfile::obfd, and minimal_symbol_reader::record_full().
Referenced by elf_rel_plt_read(), and elf_symtab_read().
|
static |
Definition at line 1442 of file elfread.c.
Referenced by _initialize_elfread().
|
static |
Definition at line 612 of file elfread.c.
Referenced by _initialize_elfread(), elf_gnu_ifunc_record_cache(), and elf_gnu_ifunc_resolve_by_cache().
|
static |
|
static |
Definition at line 1373 of file elfread.c.
Referenced by _initialize_elfread().
| const struct sym_fns elf_sym_fns_debug_names |
Definition at line 1425 of file elfread.c.
Referenced by elf_symfile_read().
| const struct sym_fns elf_sym_fns_gdb_index |
Definition at line 1408 of file elfread.c.
Referenced by elf_symfile_read().
| const struct sym_fns elf_sym_fns_lazy_psyms |
Definition at line 1391 of file elfread.c.
Referenced by elf_symfile_read().
|
static |
Definition at line 68 of file elfread.c.
Referenced by _initialize_elfread(), and elf_get_probes().
1.8.14