LLVM: llvm::object::ELFObjectFileBase Class Reference (original) (raw)
#include "[llvm/Object/ELFObjectFile.h](ELFObjectFile%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | elf_symbol_iterator_range = iterator_range<elf_symbol_iterator> |
| Public Types inherited from llvm::object::ObjectFile | |
| using | symbol_iterator_range = iterator_range<symbol_iterator> |
| using | section_iterator_range = iterator_range<section_iterator> |
| Public Types inherited from llvm::object::SymbolicFile | |
| using | basic_symbol_iterator_range = iterator_range<basic_symbol_iterator> |
| Friends | |
|---|---|
| class | ELFRelocationRef |
| class | ELFSectionRef |
| class | ELFSymbolRef |
| Additional Inherited Members | |
|---|---|
| Protected Types inherited from llvm::object::Binary | |
| enum | { ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR, ID_TapiUniversal, ID_TapiFile, ID_Minidump, ID_WinRes, ID_Offload, ID_StartObjects, ID_COFF, ID_XCOFF32, ID_XCOFF64, ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B, ID_GOFF, ID_Wasm, ID_DXContainer, ID_EndObjects } |
| Static Protected Member Functions inherited from llvm::object::Binary | |
| static unsigned int | getELFType (bool isLE, bool is64Bits) |
| static unsigned int | getMachOType (bool isLE, bool is64Bits) |
| Protected Attributes inherited from llvm::object::Binary | |
| MemoryBufferRef | Data |
Definition at line 60 of file ELFObjectFile.h.
◆ elf_symbol_iterator_range
◆ classof()
| bool llvm::object::ELFObjectFileBase::classof ( const Binary * v) | inlinestatic |
|---|
◆ getBuildAttributes()
| virtual Error llvm::object::ELFObjectFileBase::getBuildAttributes ( ELFAttributeParser & Attributes) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by setARMSubArch().
◆ getCrelDecodeProblem()
◆ getDynamicSymbolIterators()
| virtual elf_symbol_iterator_range llvm::object::ELFObjectFileBase::getDynamicSymbolIterators ( ) const | pure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by readDynsymVersions().
◆ getEIdentABIVersion()
| virtual uint8_t llvm::object::ELFObjectFileBase::getEIdentABIVersion ( ) const | pure virtual |
|---|
◆ getEMachine()
| virtual uint16_t llvm::object::ELFObjectFileBase::getEMachine ( ) const | pure virtual |
|---|
◆ getEType()
| virtual uint16_t llvm::object::ELFObjectFileBase::getEType ( ) const | pure virtual |
|---|
◆ getFeatures()
◆ getPlatformFlags()
| virtual unsigned llvm::object::ELFObjectFileBase::getPlatformFlags ( ) const | pure virtual |
|---|
Returns platform-specific object flags, if any.
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
References symbols().
◆ getPltEntries()
Definition at line 817 of file ELFObjectFile.cpp.
References llvm::Triple::aarch64, llvm::Triple::aarch64_be, llvm::append_range(), llvm::Triple::arm, llvm::Triple::armeb, llvm::arrayRefFromStringRef(), llvm::consumeError(), llvm::ELF::EM_386, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::Triple::getArch(), getEMachine(), llvm::object::BasicSymbolRef::getRawDataRefImpl(), llvm::Triple::hexagon, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::TargetRegistry::lookupTarget(), llvm::object::ObjectFile::makeTriple(), llvm::Triple::riscv32, llvm::Triple::riscv64, llvm::object::ObjectFile::SectionRef, llvm::object::ObjectFile::sections(), llvm::object::SymbolicFile::symbol_end(), T, llvm::Expected< T >::takeError(), llvm::Triple::thumb, llvm::Triple::thumbeb, llvm::Triple::x86, and llvm::Triple::x86_64.
Referenced by getEIdentABIVersion().
◆ getRelocationAddend()
| virtual Expected< int64_t > llvm::object::ELFObjectFileBase::getRelocationAddend ( DataRefImpl Rel) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFRelocationRef::getAddend().
◆ getSectionFlags()
| virtual uint64_t llvm::object::ELFObjectFileBase::getSectionFlags ( DataRefImpl Sec) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFSectionRef::getFlags().
◆ getSectionOffset()
| virtual uint64_t llvm::object::ELFObjectFileBase::getSectionOffset ( DataRefImpl Sec) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFSectionRef::getOffset().
◆ getSectionType()
| virtual uint32_t llvm::object::ELFObjectFileBase::getSectionType ( DataRefImpl Sec) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFSectionRef::getType().
◆ getSymbolBinding()
| virtual uint8_t llvm::object::ELFObjectFileBase::getSymbolBinding ( DataRefImpl Symb) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFSymbolRef::getBinding().
◆ getSymbolELFType()
| virtual uint8_t llvm::object::ELFObjectFileBase::getSymbolELFType ( DataRefImpl Symb) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFSymbolRef::getELFType().
◆ getSymbolOther()
| virtual uint8_t llvm::object::ELFObjectFileBase::getSymbolOther ( DataRefImpl Symb) const | protectedpure virtual |
|---|
Implemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.
Referenced by llvm::object::ELFSymbolRef::getOther().
◆ getSymbolSize()
| virtual uint64_t llvm::object::ELFObjectFileBase::getSymbolSize ( DataRefImpl Symb) const | protectedpure virtual |
|---|
◆ readBBAddrMap()
Returns a vector of all BB address maps in the object file.
When TextSectionIndex is specified, only returns the BB address maps corresponding to the section with that index. When PGOAnalysesis specified (PGOAnalyses is not nullptr), the vector is cleared then filled with extra PGO data. PGOAnalyses will always be the same length as the return value when it is requested assuming no error occurs. Upon failure, PGOAnalyses will be emptied.
Definition at line 1058 of file ELFObjectFile.cpp.
References llvm::cast(), llvm::dyn_cast(), and readBBAddrMapImpl().
Referenced by getEIdentABIVersion().
◆ readDynsymVersions()
◆ setARMSubArch()
| void ELFObjectFileBase::setARMSubArch ( Triple & TheTriple) const | overridevirtual |
|---|
Reimplemented from llvm::object::ObjectFile.
Definition at line 723 of file ELFObjectFile.cpp.
References llvm::consumeError(), llvm::ARMBuildAttrs::CPU_arch, llvm::ARMBuildAttrs::CPU_arch_profile, getBuildAttributes(), llvm::Triple::getSubArch(), llvm::object::Binary::isLittleEndian(), llvm::Triple::isThumb(), llvm::ARMBuildAttrs::MicroControllerProfile, llvm::Triple::NoSubArch, llvm::Triple::setArchName(), llvm::ARMBuildAttrs::v4, llvm::ARMBuildAttrs::v4T, llvm::ARMBuildAttrs::v5T, llvm::ARMBuildAttrs::v5TE, llvm::ARMBuildAttrs::v5TEJ, llvm::ARMBuildAttrs::v6, llvm::ARMBuildAttrs::v6_M, llvm::ARMBuildAttrs::v6K, llvm::ARMBuildAttrs::v6KZ, llvm::ARMBuildAttrs::v6S_M, llvm::ARMBuildAttrs::v6T2, llvm::ARMBuildAttrs::v7, llvm::ARMBuildAttrs::v7E_M, llvm::ARMBuildAttrs::v8_1_M_Main, llvm::ARMBuildAttrs::v8_A, llvm::ARMBuildAttrs::v8_M_Base, llvm::ARMBuildAttrs::v8_M_Main, llvm::ARMBuildAttrs::v8_R, and llvm::ARMBuildAttrs::v9_A.
◆ symbols()
| ELFObjectFileBase::elf_symbol_iterator_range llvm::object::ELFObjectFileBase::symbols ( ) const | inline |
|---|
◆ tryGetCPUName()
| std::optional< StringRef > ELFObjectFileBase::tryGetCPUName ( ) const | overridevirtual |
|---|
◆ ELFRelocationRef
◆ ELFSectionRef
◆ ELFSymbolRef
The documentation for this class was generated from the following files:
- include/llvm/Object/ELFObjectFile.h
- lib/Object/ELFObjectFile.cpp