Lines Matching defs:symtab
11 /// This contains the definition of the symtab reader
26 #include "abg-symtab-reader.h"
61 /// symtab implementations
63 /// Obtain a suitable default filter for iterating this symtab object.
71 symtab::make_filter() const
86 symtab::lookup_symbol(const std::string& name) const
101 symtab::lookup_symbol(GElf_Addr symbol_addr) const
126 /// Construct a symtab object and instantiate it from an ELF
138 /// @return a smart pointer handle to symtab, set to nullptr if the load was
141 symtab::load(Elf* elf_handle,
147 symtab_ptr result(new symtab);
154 /// Construct a symtab object from existing name->symbol lookup maps.
161 /// @return a smart pointer handle to symtab, set to nullptr if the load was
164 symtab::load(string_elf_symbols_map_sptr function_symbol_map,
167 symtab_ptr result(new symtab);
174 /// Default constructor of the @ref symtab type.
175 symtab::symtab()
179 /// Load the symtab representation from an Elf binary presented to us by an
182 /// This method iterates over the entries of .symtab and collects all
202 symtab::load_(Elf* elf_handle,
210 std::cerr << "Could not get ELF header: Skipping symtab load.\n";
217 std::cerr << "No symbol table found: Skipping symtab load.\n";
227 std::cerr << "Invalid symtab header found: Skipping symtab load.\n";
234 Elf_Data* symtab = elf_getdata(symtab_section, 0);
235 if (!symtab)
237 std::cerr << "Could not load elf symtab: Skipping symtab load.\n";
273 sym = gelf_getsym(symtab, i, &sym_mem);
277 << ": Skipping symtab load.\n";
308 // appearence as __ksymtab_<symbol> in the symtab.
449 /// Load the symtab representation from a function/variable lookup map pair.
461 symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
493 /// Notify the symtab about the name of the main symbol at a given address.
495 /// From just alone the symtab we can't guess the main symbol of a bunch of
504 symtab::update_main_symbol(GElf_Addr addr, const std::string& name)
527 /// This is a sub-routine for symtab::load_and
528 /// symtab::add_alternative_address_lookups and must be called only
539 symtab::setup_symbol_lookup_tables(Elf* elf_handle,
619 symtab::update_function_entry_address_symbol_map(
671 /// (suffix .cfi) instead of with the entry symbol in the symtab.
682 symtab::add_alternative_address_lookups(Elf* elf_handle)
693 Elf_Data* symtab = elf_getdata(symtab_section, 0);
698 sym = gelf_getsym(symtab, i, &sym_mem);