class LoadedElfModule
Defined at line 29 of file ../../src/lib/unwinder/loaded_elf_module.h
Provides a high level interface over a |Module|. Eventually these classes will be merged.
A LoadedElfModule can represent either a literally loaded ELF program in a program's address
space, or an ELF file (or files) on disk, depending on the corresponding Module's |mode|. In
either case, there is always a live process associated with this object that has a load address.
This class assumes that is has synchronous access to both |binary_memory| and |debug_info_memory|
members of the corresponding Module object.
Public Methods
void LoadedElfModule (const Module & module)
Defined at line 31 of file ../../src/lib/unwinder/loaded_elf_module.h
bool IsValidPC (uint64_t pc)
Check whether a given PC is in the valid range of this module.
Defined at line 37 of file ../../src/lib/unwinder/loaded_elf_module.h
const Module & module ()
Defined at line 39 of file ../../src/lib/unwinder/loaded_elf_module.h
uint64_t load_address ()
Defined at line 40 of file ../../src/lib/unwinder/loaded_elf_module.h
fit::result<Error> Load ()
Load ELF headers and program headers.
Defined at line 40 of file ../../src/lib/unwinder/loaded_elf_module.cc
Memory * binary_memory ()
Defined at line 41 of file ../../src/lib/unwinder/loaded_elf_module.h
Memory * debug_info_memory ()
Defined at line 42 of file ../../src/lib/unwinder/loaded_elf_module.h
Module::AddressMode mode ()
Defined at line 43 of file ../../src/lib/unwinder/loaded_elf_module.h
Module::AddressSize size ()
Defined at line 44 of file ../../src/lib/unwinder/loaded_elf_module.h
const std::vector<Elf64_Phdr> & phdrs ()
Defined at line 46 of file ../../src/lib/unwinder/loaded_elf_module.h
fit::result<Error, Elf64_Shdr> GetSectionByName (std::string_view target_section)
Helpers to get sections or segments.
Defined at line 100 of file ../../src/lib/unwinder/loaded_elf_module.cc
fit::result<Error, Elf64_Phdr> GetSegmentByType (uint32_t p_type)
Always returns an Elf64_Phdr, even if this module is 32 bits.
Defined at line 136 of file ../../src/lib/unwinder/loaded_elf_module.cc