LLVM
8.0.1
|
#include "llvm/Object/ELFObjectFile.h"
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_WinRes, ID_StartObjects, ID_COFF, ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B, ID_Wasm, 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 47 of file ELFObjectFile.h.
using llvm::object::ELFObjectFileBase::elf_symbol_iterator_range = iterator_range<elf_symbol_iterator> |
Definition at line 67 of file ELFObjectFile.h.
|
protected |
Definition at line 39 of file ELFObjectFile.cpp.
Referenced by llvm::object::ELFObjectFile< ELFT >::create().
Definition at line 76 of file ELFObjectFile.h.
References getARMFeatures(), getEType(), getFeatures(), getMIPSFeatures(), getPltAddresses(), getRISCVFeatures(), llvm::object::Binary::isELF(), and setARMSubArch().
SubtargetFeatures ELFObjectFileBase::getARMFeatures | ( | ) | const |
Definition at line 139 of file ELFObjectFile.cpp.
References llvm::SubtargetFeatures::AddFeature(), llvm::ARMBuildAttrs::Advanced_SIMD_arch, llvm::ARMBuildAttrs::AllowDIVExt, llvm::ARMBuildAttrs::AllowFPv2, llvm::ARMBuildAttrs::AllowFPv3A, llvm::ARMBuildAttrs::AllowFPv3B, llvm::ARMBuildAttrs::AllowFPv4A, llvm::ARMBuildAttrs::AllowFPv4B, llvm::ARMBuildAttrs::AllowNeon, llvm::ARMBuildAttrs::AllowNeon2, llvm::ARMBuildAttrs::AllowThumb32, llvm::ARMBuildAttrs::ApplicationProfile, llvm::ARMBuildAttrs::CPU_arch, llvm::ARMBuildAttrs::CPU_arch_profile, llvm::ARMBuildAttrs::DisallowDIV, llvm::ARMBuildAttrs::DIV_use, Features, llvm::ARMBuildAttrs::FP_arch, llvm::ARMAttributeParser::getAttributeValue(), llvm::object::ObjectFile::getBuildAttributes(), llvm::ARMAttributeParser::hasAttribute(), llvm::ARMBuildAttrs::MicroControllerProfile, llvm::ARMBuildAttrs::Not_Allowed, llvm::ARMBuildAttrs::RealTimeProfile, llvm::ARMBuildAttrs::THUMB_ISA_use, and llvm::ARMBuildAttrs::v7.
Referenced by classof(), and getFeatures().
|
pure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
Referenced by llvm::object::ELFObjectFile< ELFT >::classof().
|
protectedpure virtual |
Referenced by getFeatures().
|
pure virtual |
Referenced by classof().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 254 of file ELFObjectFile.cpp.
References llvm::ELF::EM_ARM, llvm::ELF::EM_MIPS, llvm::ELF::EM_RISCV, getARMFeatures(), getEMachine(), getMIPSFeatures(), and getRISCVFeatures().
Referenced by classof().
SubtargetFeatures ELFObjectFileBase::getMIPSFeatures | ( | ) | const |
Definition at line 79 of file ELFObjectFile.cpp.
References llvm::SubtargetFeatures::AddFeature(), llvm::ELF::EF_MIPS_ARCH, llvm::ELF::EF_MIPS_ARCH_1, llvm::ELF::EF_MIPS_ARCH_2, llvm::ELF::EF_MIPS_ARCH_3, llvm::ELF::EF_MIPS_ARCH_32, llvm::ELF::EF_MIPS_ARCH_32R2, llvm::ELF::EF_MIPS_ARCH_32R6, llvm::ELF::EF_MIPS_ARCH_4, llvm::ELF::EF_MIPS_ARCH_5, llvm::ELF::EF_MIPS_ARCH_64, llvm::ELF::EF_MIPS_ARCH_64R2, llvm::ELF::EF_MIPS_ARCH_64R6, llvm::ELF::EF_MIPS_ARCH_ASE_M16, llvm::ELF::EF_MIPS_MACH, llvm::ELF::EF_MIPS_MACH_NONE, llvm::ELF::EF_MIPS_MACH_OCTEON, llvm::ELF::EF_MIPS_MICROMIPS, Features, getPlatformFlags(), and llvm_unreachable.
Referenced by classof(), and getFeatures().
|
pure virtual |
Returns platform-specific object flags, if any.
Implemented in llvm::object::ELFObjectFile< ELFT >.
Referenced by getMIPSFeatures(), getRISCVFeatures(), and llvm::RuntimeDyldELF::processRelocationRef().
std::vector< std::pair< DataRefImpl, uint64_t > > ELFObjectFileBase::getPltAddresses | ( | ) | const |
Definition at line 334 of file ELFObjectFile.cpp.
Referenced by classof().
|
protectedpure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
Referenced by llvm::object::ELFObjectFile< ELFT >::getSection().
SubtargetFeatures ELFObjectFileBase::getRISCVFeatures | ( | ) | const |
Definition at line 243 of file ELFObjectFile.cpp.
References llvm::SubtargetFeatures::AddFeature(), llvm::ELF::EF_RISCV_RVC, Features, and getPlatformFlags().
Referenced by classof(), and getFeatures().
|
protectedpure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
|
protectedpure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
|
protectedpure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
|
protectedpure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
|
protectedpure virtual |
Implemented in llvm::object::ELFObjectFile< ELFT >.
|
protectedpure virtual |
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 268 of file ELFObjectFile.cpp.
References llvm::ARMBuildAttrs::CPU_arch, llvm::ARMAttributeParser::getAttributeValue(), llvm::object::ObjectFile::getBuildAttributes(), llvm::Triple::getSubArch(), llvm::ARMAttributeParser::hasAttribute(), llvm::object::Binary::isLittleEndian(), llvm::Triple::isThumb(), 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, and llvm::ARMBuildAttrs::v7E_M.
Referenced by classof().
|
inline |
Definition at line 202 of file ELFObjectFile.h.
References llvm::object::SymbolicFile::symbol_begin(), and llvm::object::SymbolicFile::symbol_end().
|
friend |
Definition at line 48 of file ELFObjectFile.h.
|
friend |
Definition at line 49 of file ELFObjectFile.h.
|
friend |
Definition at line 50 of file ELFObjectFile.h.