class ELFFile
Declaration
template <class ELFT>
class ELFFile { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Object/ELF.h:166
Templates
- ELFT
Member Variables
- private llvm::StringRef Buf
- private std::vector<Elf_Shdr> FakeSections
Method Overview
- private ELFFile<ELFT>(llvm::StringRef Object)
- public Expected<std::vector<Elf_Rela>> android_relas(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public const uint8_t * base() const
- public static Expected<ELFFile<ELFT>> create(llvm::StringRef Object)
- public void createFakeSections()
- public Expected<std::vector<BBAddrMap>> decodeBBAddrMap(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public std::vector<Elf_Rel> decode_relrs(llvm::object::ELFFile::Elf_Relr_Range relrs) const
- public Expected<llvm::object::ELFFile::Elf_Dyn_Range> dynamicEntries() const
- public const uint8_t * end() const
- public size_t getBufSize() const
- public Expected<uint64_t> getDynSymtabSize() const
- public std::string getDynamicTagAsString(unsigned int Arch, uint64_t Type) const
- public std::string getDynamicTagAsString(uint64_t Type) const
- public template <typename T>Expected<const T *> getEntry(const llvm::object::ELFFile::Elf_Shdr & Section, uint32_t Entry) const
- public template <typename T>Expected<const T *> getEntry(uint32_t Section, uint32_t Entry) const
- public const llvm::object::ELFFile::Elf_Ehdr & getHeader() const
- public Expected<llvm::StringRef> getLinkAsStrtab(const typename ELFT::Shdr & Sec) const
- public uint32_t getRelativeRelocationType() const
- public Expected<const llvm::object::ELFFile::Elf_Sym *> getRelocationSymbol(const llvm::object::ELFFile::Elf_Rel & Rel, const llvm::object::ELFFile::Elf_Shdr * SymTab) const
- public llvm::StringRef getRelocationTypeName(uint32_t Type) const
- public void getRelocationTypeName(uint32_t Type, SmallVectorImpl<char> & Result) const
- public Expected<ArrayRef<llvm::object::ELFFile::Elf_Word>> getSHNDXTable(const llvm::object::ELFFile::Elf_Shdr & Section, llvm::object::ELFFile::Elf_Shdr_Range Sections) const
- public Expected<ArrayRef<llvm::object::ELFFile::Elf_Word>> getSHNDXTable(const llvm::object::ELFFile::Elf_Shdr & Section) const
- public Expected<const llvm::object::ELFFile::Elf_Shdr *> getSection(uint32_t Index) const
- public Expected<const llvm::object::ELFFile::Elf_Shdr *> getSection(const llvm::object::ELFFile::Elf_Sym & Sym, llvm::object::ELFFile::Elf_Sym_Range Symtab, DataRegion<llvm::object::ELFFile::Elf_Word> ShndxTable) const
- public Expected<const llvm::object::ELFFile::Elf_Shdr *> getSection(const llvm::object::ELFFile::Elf_Sym & Sym, const llvm::object::ELFFile::Elf_Shdr * SymTab, DataRegion<llvm::object::ELFFile::Elf_Word> ShndxTable) const
- public Expected<ArrayRef<uint8_t>> getSectionContents(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public template <typename T>Expected<ArrayRef<T>> getSectionContentsAsArray(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public Expected<uint32_t> getSectionIndex(const llvm::object::ELFFile::Elf_Sym & Sym, llvm::object::ELFFile::Elf_Sym_Range Syms, DataRegion<llvm::object::ELFFile::Elf_Word> ShndxTable) const
- public Expected<llvm::StringRef> getSectionName(const llvm::object::ELFFile::Elf_Shdr & Section, llvm::StringRef DotShstrtab) const
- public Expected<llvm::StringRef> getSectionName(const llvm::object::ELFFile::Elf_Shdr & Section, llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler) const
- public Expected<llvm::StringRef> getSectionStringTable(llvm::object::ELFFile::Elf_Shdr_Range Sections, llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler) const
- public Expected<ArrayRef<uint8_t>> getSegmentContents(const llvm::object::ELFFile::Elf_Phdr & Phdr) const
- public Expected<llvm::StringRef> getStringTable(const llvm::object::ELFFile::Elf_Shdr & Section, llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler) const
- public Expected<llvm::StringRef> getStringTableForSymtab(const llvm::object::ELFFile::Elf_Shdr & Section) const
- public Expected<llvm::StringRef> getStringTableForSymtab(const llvm::object::ELFFile::Elf_Shdr & Section, llvm::object::ELFFile::Elf_Shdr_Range Sections) const
- public Expected<const llvm::object::ELFFile::Elf_Sym *> getSymbol(const llvm::object::ELFFile::Elf_Shdr * Sec, uint32_t Index) const
- public Expected<llvm::StringRef> getSymbolVersionByIndex(uint32_t SymbolVersionIndex, bool & IsDefault, SmallVector<Optional<llvm::object::VersionEntry>, 0> & VersionMap, Optional<bool> IsSymHidden) const
- public Expected<std::vector<VerDef>> getVersionDefinitions(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public Expected<std::vector<VerNeed>> getVersionDependencies(const llvm::object::ELFFile::Elf_Shdr & Sec, llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler) const
- public bool isLE() const
- public bool isMips64EL() const
- public bool isMipsELF64() const
- public Expected<SmallVector<Optional<llvm::object::VersionEntry>, 0>> loadVersionMap(const llvm::object::ELFFile::Elf_Shdr * VerNeedSec, const llvm::object::ELFFile::Elf_Shdr * VerDefSec) const
- public iterator_range<llvm::object::ELFFile::Elf_Note_Iterator> notes(const llvm::object::ELFFile::Elf_Shdr & Shdr, llvm::Error & Err) const
- public iterator_range<llvm::object::ELFFile::Elf_Note_Iterator> notes(const llvm::object::ELFFile::Elf_Phdr & Phdr, llvm::Error & Err) const
- public llvm::object::ELFFile::Elf_Note_Iterator notes_begin(const llvm::object::ELFFile::Elf_Shdr & Shdr, llvm::Error & Err) const
- public llvm::object::ELFFile::Elf_Note_Iterator notes_begin(const llvm::object::ELFFile::Elf_Phdr & Phdr, llvm::Error & Err) const
- public llvm::object::ELFFile::Elf_Note_Iterator notes_end() const
- public Expected<llvm::object::ELFFile::Elf_Phdr_Range> program_headers() const
- public Expected<llvm::object::ELFFile::Elf_Rela_Range> relas(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public Expected<llvm::object::ELFFile::Elf_Relr_Range> relrs(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public Expected<llvm::object::ELFFile::Elf_Rel_Range> rels(const llvm::object::ELFFile::Elf_Shdr & Sec) const
- public Expected<llvm::object::ELFFile::Elf_Shdr_Range> sections() const
- public Expected<llvm::object::ELFFile::Elf_Sym_Range> symbols(const llvm::object::ELFFile::Elf_Shdr * Sec) const
- public Expected<const uint8_t *> toMappedAddr(uint64_t VAddr, llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler) const
Methods
¶ELFFile<ELFT>(llvm::StringRef Object)
ELFFile<ELFT>(llvm::StringRef Object)
Declared at: llvm/include/llvm/Object/ELF.h:186
Parameters
- llvm::StringRef Object
¶Expected<std::vector<Elf_Rela>> android_relas(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<std::vector<Elf_Rela>> android_relas(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:278
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶const uint8_t* base() const
const uint8_t* base() const
Declared at: llvm/include/llvm/Object/ELF.h:177
¶static Expected<ELFFile<ELFT>> create(
llvm::StringRef Object)
static Expected<ELFFile<ELFT>> create(
llvm::StringRef Object)
Declared at: llvm/include/llvm/Object/ELF.h:237
Parameters
- llvm::StringRef Object
¶void createFakeSections()
void createFakeSections()
Description
Used by llvm-objdump -d (which needs sections for disassembly) to disassemble objects without a section header table (e.g. ET_CORE objects analyzed by linux perf or ET_EXEC with llvm-strip --strip-sections).
Declared at: llvm/include/llvm/Object/ELF.h:394
¶Expected<std::vector<BBAddrMap>> decodeBBAddrMap(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<std::vector<BBAddrMap>> decodeBBAddrMap(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:392
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶std::vector<Elf_Rel> decode_relrs(
llvm::object::ELFFile::Elf_Relr_Range relrs)
const
std::vector<Elf_Rel> decode_relrs(
llvm::object::ELFFile::Elf_Relr_Range relrs)
const
Declared at: llvm/include/llvm/Object/ELF.h:276
Parameters
- llvm::object::ELFFile::Elf_Relr_Range relrs
¶Expected<llvm::object::ELFFile::Elf_Dyn_Range>
dynamicEntries() const
Expected<llvm::object::ELFFile::Elf_Dyn_Range>
dynamicEntries() const
Declared at: llvm/include/llvm/Object/ELF.h:252
¶const uint8_t* end() const
const uint8_t* end() const
Declared at: llvm/include/llvm/Object/ELF.h:178
¶size_t getBufSize() const
size_t getBufSize() const
Declared at: llvm/include/llvm/Object/ELF.h:180
¶Expected<uint64_t> getDynSymtabSize() const
Expected<uint64_t> getDynSymtabSize() const
Description
This function determines the number of dynamic symbols. It reads section headers first. If section headers are not available, the number of symbols will be inferred by parsing dynamic hash tables.
Declared at: llvm/include/llvm/Object/ELF.h:220
¶std::string getDynamicTagAsString(
unsigned int Arch,
uint64_t Type) const
std::string getDynamicTagAsString(
unsigned int Arch,
uint64_t Type) const
Declared at: llvm/include/llvm/Object/ELF.h:227
Parameters
- unsigned int Arch
- uint64_t Type
¶std::string getDynamicTagAsString(
uint64_t Type) const
std::string getDynamicTagAsString(
uint64_t Type) const
Declared at: llvm/include/llvm/Object/ELF.h:228
Parameters
- uint64_t Type
¶template <typename T>
Expected<const T*> getEntry(
const llvm::object::ELFFile::Elf_Shdr&
Section,
uint32_t Entry) const
template <typename T>
Expected<const T*> getEntry(
const llvm::object::ELFFile::Elf_Shdr&
Section,
uint32_t Entry) const
Declared at: llvm/include/llvm/Object/ELF.h:196
Templates
- T
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
- uint32_t Entry
¶template <typename T>
Expected<const T*> getEntry(uint32_t Section,
uint32_t Entry) const
template <typename T>
Expected<const T*> getEntry(uint32_t Section,
uint32_t Entry) const
Declared at: llvm/include/llvm/Object/ELF.h:194
Templates
- T
Parameters
- uint32_t Section
- uint32_t Entry
¶const llvm::object::ELFFile::Elf_Ehdr& getHeader()
const
const llvm::object::ELFFile::Elf_Ehdr& getHeader()
const
Declared at: llvm/include/llvm/Object/ELF.h:189
¶Expected<llvm::StringRef> getLinkAsStrtab(
const typename ELFT::Shdr& Sec) const
Expected<llvm::StringRef> getLinkAsStrtab(
const typename ELFT::Shdr& Sec) const
Declared at: llvm/include/llvm/Object/ELF.h:214
Parameters
- const typename ELFT::Shdr& Sec
¶uint32_t getRelativeRelocationType() const
uint32_t getRelativeRelocationType() const
Declared at: llvm/include/llvm/Object/ELF.h:225
¶Expected<const llvm::object::ELFFile::Elf_Sym*>
getRelocationSymbol(
const llvm::object::ELFFile::Elf_Rel& Rel,
const llvm::object::ELFFile::Elf_Shdr* SymTab)
const
Expected<const llvm::object::ELFFile::Elf_Sym*>
getRelocationSymbol(
const llvm::object::ELFFile::Elf_Rel& Rel,
const llvm::object::ELFFile::Elf_Shdr* SymTab)
const
Description
Get the symbol for a given relocation.
Declared at: llvm/include/llvm/Object/ELF.h:231
Parameters
- const llvm::object::ELFFile::Elf_Rel& Rel
- const llvm::object::ELFFile::Elf_Shdr* SymTab
¶llvm::StringRef getRelocationTypeName(
uint32_t Type) const
llvm::StringRef getRelocationTypeName(
uint32_t Type) const
Declared at: llvm/include/llvm/Object/ELF.h:222
Parameters
- uint32_t Type
¶void getRelocationTypeName(
uint32_t Type,
SmallVectorImpl<char>& Result) const
void getRelocationTypeName(
uint32_t Type,
SmallVectorImpl<char>& Result) const
Declared at: llvm/include/llvm/Object/ELF.h:223
Parameters
- uint32_t Type
- SmallVectorImpl<char>& Result
¶Expected<
ArrayRef<llvm::object::ELFFile::Elf_Word>>
getSHNDXTable(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::Elf_Shdr_Range
Sections) const
Expected<
ArrayRef<llvm::object::ELFFile::Elf_Word>>
getSHNDXTable(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::Elf_Shdr_Range
Sections) const
Declared at: llvm/include/llvm/Object/ELF.h:217
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
- llvm::object::ELFFile::Elf_Shdr_Range Sections
¶Expected<
ArrayRef<llvm::object::ELFFile::Elf_Word>>
getSHNDXTable(
const llvm::object::ELFFile::Elf_Shdr&
Section) const
Expected<
ArrayRef<llvm::object::ELFFile::Elf_Word>>
getSHNDXTable(
const llvm::object::ELFFile::Elf_Shdr&
Section) const
Declared at: llvm/include/llvm/Object/ELF.h:216
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
¶Expected<const llvm::object::ELFFile::Elf_Shdr*>
getSection(uint32_t Index) const
Expected<const llvm::object::ELFFile::Elf_Shdr*>
getSection(uint32_t Index) const
Declared at: llvm/include/llvm/Object/ELF.h:378
Parameters
- uint32_t Index
¶Expected<const llvm::object::ELFFile::Elf_Shdr*>
getSection(
const llvm::object::ELFFile::Elf_Sym& Sym,
llvm::object::ELFFile::Elf_Sym_Range Symtab,
DataRegion<llvm::object::ELFFile::Elf_Word>
ShndxTable) const
Expected<const llvm::object::ELFFile::Elf_Shdr*>
getSection(
const llvm::object::ELFFile::Elf_Sym& Sym,
llvm::object::ELFFile::Elf_Sym_Range Symtab,
DataRegion<llvm::object::ELFFile::Elf_Word>
ShndxTable) const
Declared at: llvm/include/llvm/Object/ELF.h:375
Parameters
- const llvm::object::ELFFile::Elf_Sym& Sym
- llvm::object::ELFFile::Elf_Sym_Range Symtab
- DataRegion<llvm::object::ELFFile::Elf_Word> ShndxTable
¶Expected<const llvm::object::ELFFile::Elf_Shdr*>
getSection(
const llvm::object::ELFFile::Elf_Sym& Sym,
const llvm::object::ELFFile::Elf_Shdr* SymTab,
DataRegion<llvm::object::ELFFile::Elf_Word>
ShndxTable) const
Expected<const llvm::object::ELFFile::Elf_Shdr*>
getSection(
const llvm::object::ELFFile::Elf_Sym& Sym,
const llvm::object::ELFFile::Elf_Shdr* SymTab,
DataRegion<llvm::object::ELFFile::Elf_Word>
ShndxTable) const
Declared at: llvm/include/llvm/Object/ELF.h:372
Parameters
- const llvm::object::ELFFile::Elf_Sym& Sym
- const llvm::object::ELFFile::Elf_Shdr* SymTab
- DataRegion<llvm::object::ELFFile::Elf_Word> ShndxTable
¶Expected<ArrayRef<uint8_t>> getSectionContents(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<ArrayRef<uint8_t>> getSectionContents(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:390
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶template <typename T>
Expected<ArrayRef<T>> getSectionContentsAsArray(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
template <typename T>
Expected<ArrayRef<T>> getSectionContentsAsArray(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:389
Templates
- T
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶Expected<uint32_t> getSectionIndex(
const llvm::object::ELFFile::Elf_Sym& Sym,
llvm::object::ELFFile::Elf_Sym_Range Syms,
DataRegion<llvm::object::ELFFile::Elf_Word>
ShndxTable) const
Expected<uint32_t> getSectionIndex(
const llvm::object::ELFFile::Elf_Sym& Sym,
llvm::object::ELFFile::Elf_Sym_Range Syms,
DataRegion<llvm::object::ELFFile::Elf_Word>
ShndxTable) const
Declared at: llvm/include/llvm/Object/ELF.h:370
Parameters
- const llvm::object::ELFFile::Elf_Sym& Sym
- llvm::object::ELFFile::Elf_Sym_Range Syms
- DataRegion<llvm::object::ELFFile::Elf_Word> ShndxTable
¶Expected<llvm::StringRef> getSectionName(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::StringRef DotShstrtab) const
Expected<llvm::StringRef> getSectionName(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::StringRef DotShstrtab) const
Declared at: llvm/include/llvm/Object/ELF.h:386
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
- llvm::StringRef DotShstrtab
¶Expected<llvm::StringRef> getSectionName(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Expected<llvm::StringRef> getSectionName(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Declared at: llvm/include/llvm/Object/ELF.h:384
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
- llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler
¶Expected<llvm::StringRef> getSectionStringTable(
llvm::object::ELFFile::Elf_Shdr_Range
Sections,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Expected<llvm::StringRef> getSectionStringTable(
llvm::object::ELFFile::Elf_Shdr_Range
Sections,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Declared at: llvm/include/llvm/Object/ELF.h:367
Parameters
- llvm::object::ELFFile::Elf_Shdr_Range Sections
- llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler
¶Expected<ArrayRef<uint8_t>> getSegmentContents(
const llvm::object::ELFFile::Elf_Phdr& Phdr)
const
Expected<ArrayRef<uint8_t>> getSegmentContents(
const llvm::object::ELFFile::Elf_Phdr& Phdr)
const
Declared at: llvm/include/llvm/Object/ELF.h:391
Parameters
- const llvm::object::ELFFile::Elf_Phdr& Phdr
¶Expected<llvm::StringRef> getStringTable(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Expected<llvm::StringRef> getStringTable(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Declared at: llvm/include/llvm/Object/ELF.h:209
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
- llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler
¶Expected<llvm::StringRef> getStringTableForSymtab(
const llvm::object::ELFFile::Elf_Shdr&
Section) const
Expected<llvm::StringRef> getStringTableForSymtab(
const llvm::object::ELFFile::Elf_Shdr&
Section) const
Declared at: llvm/include/llvm/Object/ELF.h:211
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
¶Expected<llvm::StringRef> getStringTableForSymtab(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::Elf_Shdr_Range
Sections) const
Expected<llvm::StringRef> getStringTableForSymtab(
const llvm::object::ELFFile::Elf_Shdr&
Section,
llvm::object::ELFFile::Elf_Shdr_Range
Sections) const
Declared at: llvm/include/llvm/Object/ELF.h:212
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Section
- llvm::object::ELFFile::Elf_Shdr_Range Sections
¶Expected<const llvm::object::ELFFile::Elf_Sym*>
getSymbol(
const llvm::object::ELFFile::Elf_Shdr* Sec,
uint32_t Index) const
Expected<const llvm::object::ELFFile::Elf_Sym*>
getSymbol(
const llvm::object::ELFFile::Elf_Shdr* Sec,
uint32_t Index) const
Declared at: llvm/include/llvm/Object/ELF.h:380
Parameters
- const llvm::object::ELFFile::Elf_Shdr* Sec
- uint32_t Index
¶Expected<llvm::StringRef> getSymbolVersionByIndex(
uint32_t SymbolVersionIndex,
bool& IsDefault,
SmallVector<
Optional<llvm::object::VersionEntry>,
0>& VersionMap,
Optional<bool> IsSymHidden) const
Expected<llvm::StringRef> getSymbolVersionByIndex(
uint32_t SymbolVersionIndex,
bool& IsDefault,
SmallVector<
Optional<llvm::object::VersionEntry>,
0>& VersionMap,
Optional<bool> IsSymHidden) const
Declared at: llvm/include/llvm/Object/ELF.h:204
Parameters
- uint32_t SymbolVersionIndex
- bool& IsDefault
- SmallVector<Optional<llvm::object::VersionEntry>, 0>& VersionMap
- Optional<bool> IsSymHidden
¶Expected<std::vector<VerDef>>
getVersionDefinitions(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<std::vector<VerDef>>
getVersionDefinitions(
const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:199
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶Expected<std::vector<VerNeed>>
getVersionDependencies(
const llvm::object::ELFFile::Elf_Shdr& Sec,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Expected<std::vector<VerNeed>>
getVersionDependencies(
const llvm::object::ELFFile::Elf_Shdr& Sec,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Declared at: llvm/include/llvm/Object/ELF.h:200
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
- llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler
¶bool isLE() const
bool isLE() const
Declared at: llvm/include/llvm/Object/ELF.h:239
¶bool isMips64EL() const
bool isMips64EL() const
Declared at: llvm/include/llvm/Object/ELF.h:248
¶bool isMipsELF64() const
bool isMipsELF64() const
Declared at: llvm/include/llvm/Object/ELF.h:243
¶Expected<SmallVector<
Optional<llvm::object::VersionEntry>,
0>>
loadVersionMap(
const llvm::object::ELFFile::Elf_Shdr*
VerNeedSec,
const llvm::object::ELFFile::Elf_Shdr*
VerDefSec) const
Expected<SmallVector<
Optional<llvm::object::VersionEntry>,
0>>
loadVersionMap(
const llvm::object::ELFFile::Elf_Shdr*
VerNeedSec,
const llvm::object::ELFFile::Elf_Shdr*
VerDefSec) const
Declared at: llvm/include/llvm/Object/ELF.h:235
Parameters
- const llvm::object::ELFFile::Elf_Shdr* VerNeedSec
- const llvm::object::ELFFile::Elf_Shdr* VerDefSec
¶iterator_range<
llvm::object::ELFFile::Elf_Note_Iterator>
notes(const llvm::object::ELFFile::Elf_Shdr& Shdr,
llvm::Error& Err) const
iterator_range<
llvm::object::ELFFile::Elf_Note_Iterator>
notes(const llvm::object::ELFFile::Elf_Shdr& Shdr,
llvm::Error& Err) const
Description
Get an iterator range over notes of a section. The section must be of type \c SHT_NOTE.
Declared at: llvm/include/llvm/Object/ELF.h:362
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Shdr
- the section to iterate over.
- llvm::Error& Err
- [out] an error to support fallible iteration, which should be checked after iteration ends.
¶iterator_range<
llvm::object::ELFFile::Elf_Note_Iterator>
notes(const llvm::object::ELFFile::Elf_Phdr& Phdr,
llvm::Error& Err) const
iterator_range<
llvm::object::ELFFile::Elf_Note_Iterator>
notes(const llvm::object::ELFFile::Elf_Phdr& Phdr,
llvm::Error& Err) const
Description
Get an iterator range over notes of a program header. The program header must be of type \c PT_NOTE.
Declared at: llvm/include/llvm/Object/ELF.h:350
Parameters
- const llvm::object::ELFFile::Elf_Phdr& Phdr
- the program header to iterate over.
- llvm::Error& Err
- [out] an error to support fallible iteration, which should be checked after iteration ends.
¶llvm::object::ELFFile::Elf_Note_Iterator
notes_begin(
const llvm::object::ELFFile::Elf_Shdr& Shdr,
llvm::Error& Err) const
llvm::object::ELFFile::Elf_Note_Iterator
notes_begin(
const llvm::object::ELFFile::Elf_Shdr& Shdr,
llvm::Error& Err) const
Description
Get an iterator over notes in a section. The section must be of type \c SHT_NOTE.
Declared at: llvm/include/llvm/Object/ELF.h:326
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Shdr
- the section to iterate over.
- llvm::Error& Err
- [out] an error to support fallible iteration, which should be checked after iteration ends.
¶llvm::object::ELFFile::Elf_Note_Iterator
notes_begin(
const llvm::object::ELFFile::Elf_Phdr& Phdr,
llvm::Error& Err) const
llvm::object::ELFFile::Elf_Note_Iterator
notes_begin(
const llvm::object::ELFFile::Elf_Phdr& Phdr,
llvm::Error& Err) const
Description
Get an iterator over notes in a program header. The program header must be of type \c PT_NOTE.
Declared at: llvm/include/llvm/Object/ELF.h:307
Parameters
- const llvm::object::ELFFile::Elf_Phdr& Phdr
- the program header to iterate over.
- llvm::Error& Err
- [out] an error to support fallible iteration, which should be checked after iteration ends.
¶llvm::object::ELFFile::Elf_Note_Iterator
notes_end() const
llvm::object::ELFFile::Elf_Note_Iterator
notes_end() const
Description
Get the end iterator for notes.
Declared at: llvm/include/llvm/Object/ELF.h:339
¶Expected<llvm::object::ELFFile::Elf_Phdr_Range>
program_headers() const
Expected<llvm::object::ELFFile::Elf_Phdr_Range>
program_headers() const
Description
Iterate over program header table.
Declared at: llvm/include/llvm/Object/ELF.h:281
¶Expected<llvm::object::ELFFile::Elf_Rela_Range>
relas(const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<llvm::object::ELFFile::Elf_Rela_Range>
relas(const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:264
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶Expected<llvm::object::ELFFile::Elf_Relr_Range>
relrs(const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<llvm::object::ELFFile::Elf_Relr_Range>
relrs(const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:272
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶Expected<llvm::object::ELFFile::Elf_Rel_Range>
rels(const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Expected<llvm::object::ELFFile::Elf_Rel_Range>
rels(const llvm::object::ELFFile::Elf_Shdr& Sec)
const
Declared at: llvm/include/llvm/Object/ELF.h:268
Parameters
- const llvm::object::ELFFile::Elf_Shdr& Sec
¶Expected<llvm::object::ELFFile::Elf_Shdr_Range>
sections() const
Expected<llvm::object::ELFFile::Elf_Shdr_Range>
sections() const
Declared at: llvm/include/llvm/Object/ELF.h:250
¶Expected<llvm::object::ELFFile::Elf_Sym_Range>
symbols(const llvm::object::ELFFile::Elf_Shdr*
Sec) const
Expected<llvm::object::ELFFile::Elf_Sym_Range>
symbols(const llvm::object::ELFFile::Elf_Shdr*
Sec) const
Declared at: llvm/include/llvm/Object/ELF.h:258
Parameters
- const llvm::object::ELFFile::Elf_Shdr* Sec
¶Expected<const uint8_t*> toMappedAddr(
uint64_t VAddr,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Expected<const uint8_t*> toMappedAddr(
uint64_t VAddr,
llvm::object::ELFFile::WarningHandler
WarnHandler =
&defaultWarningHandler) const
Declared at: llvm/include/llvm/Object/ELF.h:255
Parameters
- uint64_t VAddr
- llvm::object::ELFFile::WarningHandler WarnHandler = &defaultWarningHandler