LLVM
15.0.0git
|
#include "llvm/Object/ELFObjectFile.h"
Protected Attributes | |
ELFFile< ELFT > | EF |
const Elf_Shdr * | DotDynSymSec = nullptr |
const Elf_Shdr * | DotSymtabSec = nullptr |
const Elf_Shdr * | DotSymtabShndxSec = nullptr |
bool | isDyldELFObject |
![]() | |
MemoryBufferRef | Data |
Definition at line 240 of file ELFObjectFile.h.
llvm::object::ELFObjectFile< ELFT >::ELFObjectFile | ( | ELFObjectFile< ELFT > && | Other | ) |
Definition at line 1114 of file ELFObjectFile.h.
References llvm::Data, and Other.
|
inlinestatic |
Definition at line 452 of file ELFObjectFile.h.
References llvm::object::Binary::getELFType(), llvm::object::Binary::getType(), and llvm::support::little.
|
static |
Definition at line 1089 of file ELFObjectFile.h.
References llvm::object::ELFFile< ELFT >::create(), E, llvm::object::ELFObjectFile< ELFT >::initContent(), move, and llvm::Object.
Referenced by createPtr().
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 898 of file ELFObjectFile.h.
References base, llvm::Dynamic, llvm::is_contained(), and llvm::ELF::SHT_DYNAMIC.
elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_begin |
Definition at line 1136 of file ELFObjectFile.h.
elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_end |
Definition at line 1146 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1252 of file ELFObjectFile.h.
References llvm::Triple::aarch64, llvm::Triple::aarch64_be, llvm::Triple::amdgcn, llvm::Triple::arm, llvm::Triple::avr, llvm::Triple::bpfeb, llvm::Triple::bpfel, llvm::Triple::csky, llvm::ELF::EF_AMDGPU_MACH, llvm::ELF::EF_AMDGPU_MACH_AMDGCN_FIRST, llvm::ELF::EF_AMDGPU_MACH_AMDGCN_LAST, llvm::ELF::EF_AMDGPU_MACH_R600_FIRST, llvm::ELF::EF_AMDGPU_MACH_R600_LAST, llvm::ELF::EI_CLASS, llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::EM_386, llvm::ELF::EM_68K, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_CSKY, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_LOONGARCH, llvm::ELF::EM_MIPS, llvm::ELF::EM_MSP430, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_RISCV, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_VE, llvm::ELF::EM_X86_64, llvm::Triple::hexagon, llvm::Triple::lanai, llvm::support::little, llvm::Triple::loongarch32, llvm::Triple::loongarch64, llvm::Triple::m68k, llvm::Triple::mips, llvm::Triple::mips64, llvm::Triple::mips64el, llvm::Triple::mipsel, llvm::Triple::msp430, llvm::Triple::ppc, llvm::Triple::ppc64, llvm::Triple::ppc64le, llvm::Triple::ppcle, llvm::Triple::r600, llvm::report_fatal_error(), llvm::Triple::riscv32, llvm::Triple::riscv64, llvm::Triple::sparc, llvm::Triple::sparcel, llvm::Triple::sparcv9, llvm::Triple::systemz, llvm::Triple::UnknownArch, llvm::Triple::ve, llvm::Triple::x86, and llvm::Triple::x86_64.
|
inlineoverrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 377 of file ELFObjectFile.h.
References Attributes, E, llvm::object::ELFObjectFile< ELFT >::EF, llvm::ELFAttrs::Format_Version, llvm::ELF::SHT_ARM_ATTRIBUTES, llvm::ELF::SHT_RISCV_ATTRIBUTES, and llvm::Error::success().
|
overridevirtual |
The number of bytes used to represent an address in this object file format.
Implements llvm::object::ObjectFile.
Definition at line 1171 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 640 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 1350 of file ELFObjectFile.h.
References llvm::make_range().
|
inline |
Definition at line 449 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::EF.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1176 of file ELFObjectFile.h.
References llvm::ELF::EI_CLASS, llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::EM_386, llvm::ELF::EM_68K, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_CSKY, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_LOONGARCH, llvm::ELF::EM_MIPS, llvm::ELF::EM_MSP430, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_RISCV, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_VE, llvm::ELF::EM_X86_64, llvm::support::little, and llvm::report_fatal_error().
|
inlineoverridevirtual |
Returns platform-specific object flags, if any.
Implements llvm::object::ELFObjectFileBase.
Definition at line 447 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::EF.
const ELFObjectFile< ELFT >::Elf_Rel * llvm::object::ELFObjectFile< ELFT >::getRel | ( | DataRefImpl | Rel | ) | const |
Definition at line 1069 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::errorToErrorCode(), llvm::report_fatal_error(), llvm::MipsISD::Ret, and llvm::ELF::SHT_REL.
const ELFObjectFile< ELFT >::Elf_Rela * llvm::object::ELFObjectFile< ELFT >::getRela | ( | DataRefImpl | Rela | ) | const |
Definition at line 1079 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::errorToErrorCode(), llvm::report_fatal_error(), llvm::MipsISD::Ret, and llvm::ELF::SHT_RELA.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 992 of file ELFObjectFile.h.
References llvm::object::getSection(), llvm::ELF::SHT_REL, llvm::ELF::SHT_RELA, and llvm::Expected< T >::takeError().
|
overridevirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 1061 of file ELFObjectFile.h.
References llvm::object::createError(), and llvm::ELF::SHT_RELA.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1030 of file ELFObjectFile.h.
References llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1012 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1039 of file ELFObjectFile.h.
References llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1053 of file ELFObjectFile.h.
References type.
|
protected |
Definition at line 1048 of file ELFObjectFile.h.
References llvm::object::getELFRelocationTypeName().
|
inline |
Get the relocation section that contains Rel.
Definition at line 419 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, llvm::object::ELFObjectFile< ELFT >::EF, llvm::errorToErrorCode(), and llvm::report_fatal_error().
|
inline |
Definition at line 427 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 832 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 867 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 854 of file ELFObjectFile.h.
References base, E, llvm::object::getSection(), llvm::makeArrayRef(), move, and llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 532 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 837 of file ELFObjectFile.h.
References First, llvm::object::getSection(), llvm::handleAllErrors(), and move.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 827 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 542 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 848 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 537 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1344 of file ELFObjectFile.h.
|
inline |
Definition at line 414 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::object::ELFObjectFile< ELFT >::EF.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 567 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, llvm::ELF::ET_REL, getSymbolValue(), llvm::ELF::SHN_ABS, llvm::ELF::SHN_COMMON, llvm::ELF::SHN_UNDEF, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 613 of file ELFObjectFile.h.
References llvm::report_fatal_error(), llvm::ELF::SHN_COMMON, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 645 of file ELFObjectFile.h.
References llvm::report_fatal_error(), and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 661 of file ELFObjectFile.h.
References llvm::report_fatal_error(), and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 694 of file ELFObjectFile.h.
References llvm::consumeError(), llvm::ELF::EM_AARCH64, llvm::ELF::EM_ARM, llvm::ELF::EM_RISCV, getSymbolName(), llvm::object::BasicSymbolRef::SF_Absolute, llvm::object::BasicSymbolRef::SF_Common, llvm::object::BasicSymbolRef::SF_Exported, llvm::object::BasicSymbolRef::SF_FormatSpecific, llvm::object::BasicSymbolRef::SF_Global, llvm::object::BasicSymbolRef::SF_Hidden, llvm::object::BasicSymbolRef::SF_None, llvm::object::BasicSymbolRef::SF_Thumb, llvm::object::BasicSymbolRef::SF_Undefined, llvm::object::BasicSymbolRef::SF_Weak, llvm::ELF::SHN_ABS, llvm::ELF::SHN_COMMON, llvm::ELF::SHN_UNDEF, llvm::ELF::STB_LOCAL, llvm::ELF::STB_WEAK, llvm::ELF::STT_COMMON, llvm::ELF::STT_FILE, llvm::ELF::STT_FUNC, llvm::ELF::STT_SECTION, llvm::ELF::STV_HIDDEN, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 502 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::consumeError(), llvm::object::DataRefImpl::d, llvm::ELF::STT_SECTION, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 653 of file ELFObjectFile.h.
References llvm::report_fatal_error(), and llvm::Expected< T >::takeError().
|
protected |
Definition at line 782 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 809 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 670 of file ELFObjectFile.h.
References llvm::object::SymbolRef::ST_Data, llvm::object::SymbolRef::ST_Debug, llvm::object::SymbolRef::ST_File, llvm::object::SymbolRef::ST_Function, llvm::object::SymbolRef::ST_Other, llvm::object::SymbolRef::ST_Unknown, llvm::ELF::STT_COMMON, llvm::ELF::STT_FILE, llvm::ELF::STT_FUNC, llvm::ELF::STT_NOTYPE, llvm::ELF::STT_OBJECT, llvm::ELF::STT_SECTION, llvm::ELF::STT_TLS, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 547 of file ELFObjectFile.h.
References llvm::ELF::EM_ARM, llvm::ELF::EM_MIPS, llvm::report_fatal_error(), llvm::MipsISD::Ret, llvm::ELF::SHN_ABS, llvm::ELF::STT_FUNC, and llvm::Expected< T >::takeError().
|
overrideprotectedvirtual |
Reimplemented from llvm::object::Binary.
Definition at line 472 of file ELFObjectFile.h.
References llvm::ELF::SHT_DYNSYM, llvm::ELF::SHT_SYMTAB, llvm::ELF::SHT_SYMTAB_SHNDX, and llvm::Error::success().
Referenced by llvm::object::ELFObjectFile< ELFT >::create().
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 938 of file ELFObjectFile.h.
References llvm::object::getSection(), llvm::ELF::SHF_ALLOC, and llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 931 of file ELFObjectFile.h.
References llvm::object::getSection(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_EXECINSTR, and llvm::ELF::SHF_WRITE.
|
inline |
Definition at line 256 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 945 of file ELFObjectFile.h.
References llvm::consumeError(), llvm::Expected< T >::get(), and llvm::Expected< T >::takeError().
|
inline |
Definition at line 451 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::isDyldELFObject.
|
inlineprotected |
Definition at line 364 of file ELFObjectFile.h.
References llvm::ELF::STB_GLOBAL, llvm::ELF::STB_GNU_UNIQUE, llvm::ELF::STB_WEAK, llvm::ELF::STV_DEFAULT, and llvm::ELF::STV_PROTECTED.
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 1354 of file ELFObjectFile.h.
References llvm::ELF::ET_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 890 of file ELFObjectFile.h.
References llvm::object::getSection(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, and llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 872 of file ELFObjectFile.h.
References llvm::object::getSection(), and llvm::ELF::SHF_COMPRESSED.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 882 of file ELFObjectFile.h.
References llvm::object::getSection(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_EXECINSTR, and llvm::ELF::SHT_PROGBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 877 of file ELFObjectFile.h.
References llvm::object::getSection(), and llvm::ELF::SHF_EXECINSTR.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 926 of file ELFObjectFile.h.
References llvm::object::getSection(), and llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1006 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 821 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 468 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1155 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1163 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 959 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 972 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::errorToErrorCode(), llvm::object::DataRefImpl::p, llvm::report_fatal_error(), S, llvm::ELF::SHT_REL, and llvm::ELF::SHT_RELA.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1119 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1127 of file ELFObjectFile.h.
|
inlineprotected |
Definition at line 358 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 352 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 323 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::object::ELFObjectFile< ELFT >::EF, llvm::ELF::SHT_DYNSYM, and llvm::ELF::SHT_SYMTAB.
Referenced by llvm::object::ELFObjectFile< ELFT >::toSectionRef(), and llvm::object::ELFObjectFile< ELFT >::toSymbolRef().
|
inlineprotected |
Definition at line 348 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inline |
Definition at line 248 of file ELFObjectFile.h.
References llvm::object::ObjectFile::SectionRef, and llvm::object::ELFObjectFile< ELFT >::toDRI().
|
inline |
Definition at line 252 of file ELFObjectFile.h.
References llvm::object::ELFObjectFileBase::ELFSymbolRef, and llvm::object::ELFObjectFile< ELFT >::toDRI().
|
protected |
Definition at line 268 of file ELFObjectFile.h.
|
protected |
Definition at line 269 of file ELFObjectFile.h.
|
protected |
Definition at line 270 of file ELFObjectFile.h.
|
protected |
Definition at line 266 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::getBuildAttributes(), llvm::object::ELFObjectFile< ELFT >::getELFFile(), llvm::object::ELFObjectFile< ELFT >::getPlatformFlags(), llvm::object::ELFObjectFile< ELFT >::getRelSection(), llvm::object::ELFObjectFile< ELFT >::getSymbol(), and llvm::object::ELFObjectFile< ELFT >::toDRI().
|
protected |
Definition at line 404 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::isDyldType().