|
LLVM
4.0.0
|
#include <ELFObjectFile.h>
Public Types | |
| typedef ELFFile< ELFT >::uintX_t | uintX_t |
| typedef ELFFile< ELFT >::Elf_Sym | Elf_Sym |
| typedef ELFFile< ELFT >::Elf_Shdr | Elf_Shdr |
| typedef ELFFile< ELFT >::Elf_Ehdr | Elf_Ehdr |
| typedef ELFFile< ELFT >::Elf_Rel | Elf_Rel |
| typedef ELFFile< ELFT >::Elf_Rela | Elf_Rela |
| typedef ELFFile< ELFT >::Elf_Dyn | Elf_Dyn |
Public Types inherited from llvm::object::ELFObjectFileBase | |
| typedef iterator_range < elf_symbol_iterator > | elf_symbol_iterator_range |
Public Types inherited from llvm::object::ObjectFile | |
| typedef iterator_range < symbol_iterator > | symbol_iterator_range |
| typedef iterator_range < section_iterator > | section_iterator_range |
Public Types inherited from llvm::object::SymbolicFile | |
| typedef iterator_range < basic_symbol_iterator > | basic_symbol_iterator_range |
Protected Attributes | |
| ELFFile< ELFT > | EF |
| const Elf_Shdr * | DotDynSymSec = nullptr |
| const Elf_Shdr * | DotSymtabSec = nullptr |
| ArrayRef< Elf_Word > | ShndxTable |
| bool | isDyldELFObject |
Protected Attributes inherited from llvm::object::Binary | |
| MemoryBufferRef | Data |
Additional Inherited Members | |
Protected Types inherited from llvm::object::Binary | |
| enum | { ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR, ID_ModuleSummaryIndex, 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) |
Definition at line 190 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Dyn llvm::object::ELFObjectFile< ELFT >::Elf_Dyn |
Definition at line 204 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Ehdr llvm::object::ELFObjectFile< ELFT >::Elf_Ehdr |
Definition at line 201 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Rel llvm::object::ELFObjectFile< ELFT >::Elf_Rel |
Definition at line 202 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Rela llvm::object::ELFObjectFile< ELFT >::Elf_Rela |
Definition at line 203 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Shdr llvm::object::ELFObjectFile< ELFT >::Elf_Shdr |
Definition at line 200 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Sym llvm::object::ELFObjectFile< ELFT >::Elf_Sym |
Definition at line 199 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::uintX_t llvm::object::ELFObjectFile< ELFT >::uintX_t |
Definition at line 197 of file ELFObjectFile.h.
| llvm::object::ELFObjectFile< ELFT >::ELFObjectFile | ( | MemoryBufferRef | Object, |
| std::error_code & | EC | ||
| ) |
Definition at line 802 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::DotDynSymSec, llvm::object::ELFObjectFile< ELFT >::DotSymtabSec, llvm::object::ELFObjectFile< ELFT >::EF, llvm::errorToErrorCode(), llvm::object::parse_failed, llvm::object::ELFObjectFile< ELFT >::ShndxTable, llvm::ELF::SHT_DYNSYM, llvm::ELF::SHT_SYMTAB, and llvm::ELF::SHT_SYMTAB_SHNDX.
|
inlinestatic |
Definition at line 362 of file ELFObjectFile.h.
References llvm::object::Binary::getELFType(), llvm::object::Binary::getType(), and llvm::support::little.
| elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_begin | ( | ) | const |
Definition at line 861 of file ELFObjectFile.h.
| elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_end | ( | ) | const |
Definition at line 867 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 966 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, fuzzer::EF, llvm::ELF::EI_CLASS, llvm::ELF::EI_OSABI, llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::ELFOSABI_AMDGPU_HSA, llvm::ELF::EM_386, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_MIPS, 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_WEBASSEMBLY, llvm::ELF::EM_X86_64, llvm::Triple::hexagon, llvm::Triple::lanai, llvm::support::little, llvm::Triple::mips, llvm::Triple::mips64, llvm::Triple::mips64el, llvm::Triple::mipsel, llvm::Triple::ppc, llvm::Triple::ppc64, llvm::Triple::ppc64le, 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::wasm32, llvm::Triple::wasm64, llvm::Triple::x86, and llvm::Triple::x86_64.
|
overridevirtual |
The number of bytes used to represent an address in this object file format.
Implements llvm::object::ObjectFile.
Definition at line 890 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 479 of file ELFObjectFile.h.
References llvm::object::getSymbol().
|
overridevirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 1037 of file ELFObjectFile.h.
References llvm::make_range().
|
inline |
Definition at line 359 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::EF.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 895 of file ELFObjectFile.h.
References fuzzer::EF, llvm::ELF::EI_CLASS, llvm::ELF::EI_OSABI, llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::ELFOSABI_AMDGPU_HSA, llvm::ELF::EM_386, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_MIPS, 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_WEBASSEMBLY, llvm::ELF::EM_X86_64, llvm::support::little, and llvm::report_fatal_error().
|
inlineoverridevirtual |
Returns platform-specific object flags, if any.
Reimplemented from llvm::object::ObjectFile.
Definition at line 354 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 783 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, fuzzer::EF, 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 793 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, fuzzer::EF, llvm::errorToErrorCode(), llvm::report_fatal_error(), llvm::MipsISD::Ret, and llvm::ELF::SHT_RELA.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 701 of file ELFObjectFile.h.
References fuzzer::EF, llvm::errorToErrorCode(), llvm::ELF::ET_REL, llvm::object::getSection(), llvm::report_fatal_error(), llvm::ELF::SHT_REL, and llvm::ELF::SHT_RELA.
|
overridevirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 775 of file ELFObjectFile.h.
References llvm::object::parse_failed, and llvm::ELF::SHT_RELA.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 742 of file ELFObjectFile.h.
References assert(), fuzzer::EF, llvm::ELF::ET_REL, and llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 724 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, fuzzer::EF, and llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 753 of file ELFObjectFile.h.
References fuzzer::EF, and llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 767 of file ELFObjectFile.h.
References fuzzer::EF.
|
protected |
Definition at line 762 of file ELFObjectFile.h.
References fuzzer::EF, and llvm::object::getELFRelocationTypeName().
|
inlineprotected |
Get the relocation section that contains Rel.
Definition at line 257 of file ELFObjectFile.h.
References llvm::errorToErrorCode(), and llvm::report_fatal_error().
|
inline |
Definition at line 335 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 615 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 634 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 626 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 400 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 605 of file ELFObjectFile.h.
References fuzzer::EF, llvm::errorToErrorCode(), and llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 410 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 620 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 405 of file ELFObjectFile.h.
References llvm::object::getSection().
|
inline |
Definition at line 328 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::object::ELFObjectFile< ELFT >::EF, llvm::errorToErrorCode(), llvm::report_fatal_error(), and llvm::MipsISD::Ret.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 432 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, fuzzer::EF, llvm::ELF::ET_REL, llvm::object::getSymbol(), getSymbolValue(), llvm::ARMBuildAttrs::Section, llvm::ELF::SHN_ABS, llvm::ELF::SHN_COMMON, and llvm::ELF::SHN_UNDEF.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 461 of file ELFObjectFile.h.
References llvm::object::getSymbol(), and llvm::ELF::SHN_COMMON.
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 489 of file ELFObjectFile.h.
References llvm::object::getSymbol().
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 517 of file ELFObjectFile.h.
References llvm::consumeError(), fuzzer::EF, llvm::ELF::EM_ARM, llvm::object::getSymbol(), 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::StringRef::startswith(), llvm::ELF::STB_LOCAL, llvm::ELF::STB_WEAK, llvm::ELF::STT_COMMON, llvm::ELF::STT_FILE, llvm::ELF::STT_FUNC, llvm::ELF::STT_SECTION, and llvm::ELF::STV_HIDDEN.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 383 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, fuzzer::EF, and llvm::object::getSymbol().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 484 of file ELFObjectFile.h.
References llvm::object::getSymbol().
|
protected |
Definition at line 572 of file ELFObjectFile.h.
References fuzzer::EF, and llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 589 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, fuzzer::EF, and llvm::object::getSymbol().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 495 of file ELFObjectFile.h.
References llvm::object::getSymbol(), 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, and llvm::ELF::STT_TLS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 415 of file ELFObjectFile.h.
References fuzzer::EF, llvm::ELF::EM_ARM, llvm::ELF::EM_MIPS, llvm::object::getSymbol(), llvm::MipsISD::Ret, llvm::ELF::SHN_ABS, and llvm::ELF::STT_FUNC.
|
inline |
Definition at line 361 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::isDyldELFObject.
|
inlineprotected |
Definition at line 305 of file ELFObjectFile.h.
References llvm::ELF::STB_GLOBAL, llvm::ELF::STB_WEAK, llvm::ELF::STV_DEFAULT, llvm::ELF::STV_PROTECTED, and Visibility.
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 1041 of file ELFObjectFile.h.
References fuzzer::EF, and llvm::ELF::ET_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 656 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 639 of file ELFObjectFile.h.
References llvm::object::getSection(), and llvm::ELF::SHF_COMPRESSED.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 649 of file ELFObjectFile.h.
References llvm::object::getSection(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, and llvm::ELF::SHT_PROGBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 644 of file ELFObjectFile.h.
References llvm::object::getSection(), and llvm::ELF::SHF_EXECINSTR.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 663 of file ELFObjectFile.h.
References llvm::object::getSection(), and llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 718 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 599 of file ELFObjectFile.h.
References llvm::object::getSection().
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 378 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 874 of file ELFObjectFile.h.
References fuzzer::EF.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 882 of file ELFObjectFile.h.
References fuzzer::EF.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 669 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, fuzzer::EF, and llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 682 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, fuzzer::EF, llvm::errorToErrorCode(), llvm::object::DataRefImpl::p, llvm::report_fatal_error(), llvm::ELF::SHT_REL, and llvm::ELF::SHT_RELA.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 846 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 852 of file ELFObjectFile.h.
|
inlineprotected |
Definition at line 264 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.
|
inlineprotected |
Definition at line 293 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 299 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 289 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
protected |
Definition at line 209 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::ELFObjectFile().
|
protected |
Definition at line 210 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::ELFObjectFile().
|
protected |
Definition at line 207 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::ELFObjectFile(), llvm::object::ELFObjectFile< ELFT >::getELFFile(), llvm::object::ELFObjectFile< ELFT >::getPlatformFlags(), llvm::object::ELFObjectFile< ELFT >::getSymbol(), and llvm::object::ELFObjectFile< ELFT >::toDRI().
|
protected |
Definition at line 320 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::isDyldType().
|
protected |
Definition at line 211 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::ELFObjectFile().
1.8.6