|
LLVM
3.7.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 |
| typedef ELFFile< ELFT > ::Elf_Dyn_Iter | Elf_Dyn_Iter |
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 |
| 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_IR, ID_StartObjects, ID_COFF, ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B, 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 177 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Dyn llvm::object::ELFObjectFile< ELFT >::Elf_Dyn |
Definition at line 190 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Dyn_Iter llvm::object::ELFObjectFile< ELFT >::Elf_Dyn_Iter |
Definition at line 192 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Ehdr llvm::object::ELFObjectFile< ELFT >::Elf_Ehdr |
Definition at line 187 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Rel llvm::object::ELFObjectFile< ELFT >::Elf_Rel |
Definition at line 188 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Rela llvm::object::ELFObjectFile< ELFT >::Elf_Rela |
Definition at line 189 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Shdr llvm::object::ELFObjectFile< ELFT >::Elf_Shdr |
Definition at line 186 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::Elf_Sym llvm::object::ELFObjectFile< ELFT >::Elf_Sym |
Definition at line 185 of file ELFObjectFile.h.
| typedef ELFFile<ELFT>::uintX_t llvm::object::ELFObjectFile< ELFT >::uintX_t |
Definition at line 183 of file ELFObjectFile.h.
| llvm::object::ELFObjectFile< ELFT >::ELFObjectFile | ( | MemoryBufferRef | Object, |
| std::error_code & | EC | ||
| ) |
Definition at line 738 of file ELFObjectFile.h.
References llvm::Data.
|
inlinestatic |
Definition at line 333 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 762 of file ELFObjectFile.h.
| elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_end | ( | ) | const |
Definition at line 768 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 852 of file ELFObjectFile.h.
References llvm::Triple::aarch64, llvm::Triple::arm, llvm::ELF::EI_CLASS, llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::EM_386, llvm::ELF::EM_AARCH64, llvm::ELF::EM_ARM, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_MIPS, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_X86_64, llvm::Triple::hexagon, 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::sparc, llvm::Triple::sparcel, llvm::Triple::sparcv9, llvm::Triple::systemz, llvm::Triple::UnknownArch, 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 798 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 428 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 894 of file ELFObjectFile.h.
References llvm::make_range().
|
inline |
Definition at line 330 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::EF.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 803 of file ELFObjectFile.h.
References llvm::ELF::EI_CLASS, llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::EM_386, llvm::ELF::EM_AARCH64, llvm::ELF::EM_ARM, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_MIPS, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_X86_64, llvm::support::little, and llvm::report_fatal_error().
| StringRef llvm::object::ELFObjectFile< ELFT >::getLoadName | ( | ) | const |
Definition at line 785 of file ELFObjectFile.h.
References llvm::DI, and llvm::ELF::DT_SONAME.
|
inlineoverridevirtual |
Returns platform-specific object flags, if any.
Reimplemented from llvm::object::ObjectFile.
Definition at line 325 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 725 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::ELF::SHT_REL.
| const ELFObjectFile< ELFT >::Elf_Rela * llvm::object::ELFObjectFile< ELFT >::getRela | ( | DataRefImpl | Rela | ) | const |
Definition at line 732 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::ELF::SHT_RELA.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 635 of file ELFObjectFile.h.
References llvm::ELF::ET_REL, llvm::ErrorOr< T >::getError(), llvm::report_fatal_error(), llvm::ELF::SHT_REL, and llvm::ELF::SHT_RELA.
|
overridevirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 711 of file ELFObjectFile.h.
References llvm::object::parse_failed, and llvm::ELF::SHT_RELA.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 678 of file ELFObjectFile.h.
References llvm::ELF::ET_REL, and llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 658 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 689 of file ELFObjectFile.h.
References llvm::ELF::SHT_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 703 of file ELFObjectFile.h.
|
protected |
Definition at line 698 of file ELFObjectFile.h.
References llvm::object::getELFRelocationTypeName().
|
inlineprotected |
Get the relocation section that contains Rel.
Definition at line 239 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 548 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 567 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 559 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 363 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 538 of file ELFObjectFile.h.
References llvm::ErrorOr< T >::getError().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 553 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 368 of file ELFObjectFile.h.
| const ELFFile< ELFT >::Elf_Sym * llvm::object::ELFObjectFile< ELFT >::getSymbol | ( | DataRefImpl | Symb | ) | const |
Definition at line 719 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 390 of file ELFObjectFile.h.
References llvm::object::Elf_Ehdr_Impl< ELFT >::e_type, llvm::ELF::ET_REL, llvm::ErrorOr< T >::getError(), 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 415 of file ELFObjectFile.h.
References llvm::ELF::SHN_COMMON.
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 438 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 465 of file ELFObjectFile.h.
References llvm::ELF::EM_ARM, llvm::object::Elf_Sym_Impl< ELFT >::getBinding(), llvm::object::Elf_Sym_Impl< ELFT >::getType(), llvm::object::Elf_Sym_Impl< ELFT >::getVisibility(), 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_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_SECTION, and llvm::ELF::STV_HIDDEN.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 354 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, and llvm::object::Elf_Sym_Impl< ELFT >::getName().
|
overrideprotectedvirtual |
Implements llvm::object::ELFObjectFileBase.
Definition at line 433 of file ELFObjectFile.h.
|
protected |
Definition at line 509 of file ELFObjectFile.h.
References llvm::ErrorOr< T >::getError(), llvm::object::DataRefImpl::p, and llvm::report_fatal_error().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 525 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 443 of file ELFObjectFile.h.
References llvm::object::Elf_Sym_Impl< ELFT >::getType(), 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 373 of file ELFObjectFile.h.
References llvm::object::Elf_Ehdr_Impl< ELFT >::e_machine, llvm::ELF::EM_ARM, llvm::ELF::EM_MIPS, llvm::object::Elf_Sym_Impl< ELFT >::getType(), llvm::MipsISD::Ret, llvm::ELF::SHN_ABS, and llvm::ELF::STT_FUNC.
|
inline |
Definition at line 332 of file ELFObjectFile.h.
References llvm::object::ELFObjectFile< ELFT >::isDyldELFObject.
|
inlineprotected |
Definition at line 282 of file ELFObjectFile.h.
References llvm::object::Elf_Sym_Impl< ELFT >::getBinding(), llvm::object::Elf_Sym_Impl< ELFT >::getVisibility(), 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 898 of file ELFObjectFile.h.
References llvm::ELF::ET_REL.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 584 of file ELFObjectFile.h.
References llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, and llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 577 of file ELFObjectFile.h.
References llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, and llvm::ELF::SHT_PROGBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 572 of file ELFObjectFile.h.
References llvm::ELF::SHF_EXECINSTR.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 591 of file ELFObjectFile.h.
References llvm::ELF::SHT_NOBITS.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 652 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 532 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 349 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 775 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 780 of file ELFObjectFile.h.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 597 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::ErrorOr< T >::getError(), llvm::object::DataRefImpl::p, llvm::report_fatal_error(), llvm::ELF::SHT_DYNSYM, llvm::ELF::SHT_REL, llvm::ELF::SHT_RELA, and llvm::ELF::SHT_SYMTAB.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 623 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::object::DataRefImpl::p, llvm::ELF::SHT_REL, and llvm::ELF::SHT_RELA.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 747 of file ELFObjectFile.h.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 753 of file ELFObjectFile.h.
|
inlineprotected |
Definition at line 247 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, 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 270 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 276 of file ELFObjectFile.h.
References llvm::object::ELFFile< ELFT >::ELFEntityIterator< EntT >::get(), and llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 266 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::p.
|
inlineprotected |
Definition at line 243 of file ELFObjectFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::object::ELFObjectFile< ELFT >::EF.
|
protected |
Definition at line 195 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::getELFFile(), llvm::object::ELFObjectFile< ELFT >::getPlatformFlags(), llvm::object::ELFObjectFile< ELFT >::toDRI(), and llvm::object::ELFObjectFile< ELFT >::toELFSymIter().
|
protected |
Definition at line 299 of file ELFObjectFile.h.
Referenced by llvm::object::ELFObjectFile< ELFT >::isDyldType().
1.8.6