template <typename ElfTypes> class ElfFileImpl : public ElfFile { public: using Elf_Addr = typename ElfTypes::Addr; using Elf_Off = typename ElfTypes::Off; using Elf_Half = typename ElfTypes::Half; using Elf_Word = typename ElfTypes::Word; using Elf_Sword = typename ElfTypes::Sword; using Elf_Ehdr = typename ElfTypes::Ehdr; using Elf_Shdr = typename ElfTypes::Shdr; using Elf_Sym = typename ElfTypes::Sym; using Elf_Rel = typename ElfTypes::Rel; using Elf_Rela = typename ElfTypes::Rela; using Elf_Phdr = typename ElfTypes::Phdr; using Elf_Dyn = typename ElfTypes::Dyn;
// Find .dynsym using .hash for more efficient lookup than FindSymbolAddress. const uint8_t* FindDynamicSymbolAddress(const std::string& symbol_name) const override;
// Retrieves the expected size when the file is loaded at runtime. Returns true if successful. bool GetLoadedSize(size_t* size, std::string* error_msg) const override;
// Get the alignment of the first loadable program segment. Return 0 if no loadable segment found.
size_t GetElfSegmentAlignmentFromFile() const override;
// Load segments into memory based on PT_LOAD program headers. // executable is true at run time, false at compile time. bool Load(bool executable, bool low_4gb, /*inout*/ MemMap* reservation, /*out*/ std::string* error_msg) override;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.