symtab_reader: add support for ppc64 ELFv1 binaries
When loading the symtab from an ppc64 binary, also keep track of the
function entry addresses as a key for the symbol lookup. That
accommodates the differences in DWARF pointing to the function entry
address while the symbol table points to the function pointer.
The implementation is mostly copied and adopted from abg-dwarf-reader's
read_context to add this functionality also to the new symtab reader.
* src/abg-symtab-reader.cc (symtab::lookup_symbol): fall back to
lookup the address in entry_addr_symbol_map_.
(symtab::load): update the function entry address map for
ppc64 targets.
(symtab::update_function_entry_address_symbol_map): New
function implementation.
* src/abg-symtab-reader.h
(symtab::entry_addr_symbol_map_): New data member.
(symtab::update_function_entry_address_symbol_map): New
function declaration.
Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: If4a0e06b2b486b9b9c03f8ca346492cc2e1b409a
2 files changed