LLVM API Documentation

Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
llvm::object::ELFObjectFile< ELFT > Class Template Reference

#include <ELF.h>

Inheritance diagram for llvm::object::ELFObjectFile< ELFT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::object::ELFObjectFile< ELFT >:
Collaboration graph
[legend]

List of all members.

Classes

class  ELFEntityIterator
 Iterate over constant sized entities. More...
class  VersionMapEntry

Public Types

typedef Elf_Ehdr_Impl< ELFT > Elf_Ehdr
typedef Elf_Shdr_Impl< ELFT > Elf_Shdr
typedef Elf_Sym_Impl< ELFT > Elf_Sym
typedef Elf_Dyn_Impl< ELFT > Elf_Dyn
typedef Elf_Phdr_Impl< ELFT > Elf_Phdr
typedef Elf_Rel_Impl< ELFT, falseElf_Rel
typedef Elf_Rel_Impl< ELFT, trueElf_Rela
typedef Elf_Verdef_Impl< ELFT > Elf_Verdef
typedef Elf_Verdaux_Impl< ELFT > Elf_Verdaux
typedef Elf_Verneed_Impl< ELFT > Elf_Verneed
typedef Elf_Vernaux_Impl< ELFT > Elf_Vernaux
typedef Elf_Versym_Impl< ELFT > Elf_Versym
typedef ELFEntityIterator
< const Elf_Dyn
Elf_Dyn_iterator
typedef ELFEntityIterator
< const Elf_Sym
Elf_Sym_iterator
typedef ELFEntityIterator
< const Elf_Rela
Elf_Rela_Iter
typedef ELFEntityIterator
< const Elf_Rel
Elf_Rel_Iter
typedef ELFEntityIterator
< const Elf_Phdr
Elf_Phdr_Iter
 Iterate over program header table.

Public Member Functions

bool isRelocationHasAddend (DataRefImpl Rel) const
template<typename T >
const TgetEntry (uint32_t Section, uint32_t Entry) const
template<typename T >
const TgetEntry (const Elf_Shdr *Section, uint32_t Entry) const
const Elf_ShdrgetSection (DataRefImpl index) const
const Elf_ShdrgetSection (uint32_t index) const
const Elf_RelgetRel (DataRefImpl Rel) const
const Elf_RelagetRela (DataRefImpl Rela) const
const char * getString (uint32_t section, uint32_t offset) const
const char * getString (const Elf_Shdr *section, uint32_t offset) const
error_code getSymbolVersion (const Elf_Shdr *section, const Elf_Sym *Symb, StringRef &Version, bool &IsDefault) const
void VerifyStrTab (const Elf_Shdr *sh) const
error_code getSymbolName (const Elf_Shdr *section, const Elf_Sym *Symb, StringRef &Res) const
error_code getSectionName (const Elf_Shdr *section, StringRef &Res) const
const Elf_DyngetDyn (DataRefImpl DynData) const
error_code getSymbolVersion (SymbolRef Symb, StringRef &Version, bool &IsDefault) const
uint64_t getSymbolIndex (const Elf_Sym *sym) const
error_code getRelocationAddend (DataRefImpl Rel, int64_t &Res) const
 ELFObjectFile (MemoryBuffer *Object, error_code &ec)
bool isMips64EL () const
virtual symbol_iterator begin_symbols () const
virtual symbol_iterator end_symbols () const
virtual symbol_iterator begin_dynamic_symbols () const
virtual symbol_iterator end_dynamic_symbols () const
virtual section_iterator begin_sections () const
virtual section_iterator end_sections () const
virtual library_iterator begin_libraries_needed () const
virtual library_iterator end_libraries_needed () const
const Elf_ShdrgetDynamicSymbolTableSectionHeader () const
const Elf_ShdrgetDynamicStringTableSectionHeader () const
Elf_Dyn_iterator begin_dynamic_table () const
Elf_Dyn_iterator end_dynamic_table (bool NULLEnd=false) const
Elf_Sym_iterator begin_elf_dynamic_symbols () const
Elf_Sym_iterator end_elf_dynamic_symbols () const
Elf_Rela_Iter beginELFRela (const Elf_Shdr *sec) const
Elf_Rela_Iter endELFRela (const Elf_Shdr *sec) const
Elf_Rel_Iter beginELFRel (const Elf_Shdr *sec) const
Elf_Rel_Iter endELFRel (const Elf_Shdr *sec) const
Elf_Phdr_Iter begin_program_headers () const
Elf_Phdr_Iter end_program_headers () const
virtual uint8_t getBytesInAddress () const
 The number of bytes used to represent an address in this object file format.
virtual StringRef getFileFormatName () const
virtual StringRef getObjectType () const
virtual unsigned getArch () const
virtual StringRef getLoadName () const
virtual error_code getSectionContents (const Elf_Shdr *sec, StringRef &Res) const
uint64_t getNumSections () const
uint64_t getStringTableIndex () const
ELF::Elf64_Word getSymbolTableIndex (const Elf_Sym *symb) const
const Elf_EhdrgetElfHeader () const
const Elf_ShdrgetSection (const Elf_Sym *symb) const
const Elf_ShdrgetElfSection (section_iterator &It) const
const Elf_SymgetElfSymbol (symbol_iterator &It) const
const Elf_SymgetElfSymbol (uint32_t index) const
bool isDyldType () const

Static Public Member Functions

static bool classof (const Binary *v)

Protected Member Functions

const Elf_SymgetSymbol (DataRefImpl Symb) const
void validateSymbol (DataRefImpl Symb) const
StringRef getRelocationTypeName (uint32_t Type) const
virtual error_code getSymbolNext (DataRefImpl Symb, SymbolRef &Res) const
virtual error_code getSymbolName (DataRefImpl Symb, StringRef &Res) const
virtual error_code getSymbolFileOffset (DataRefImpl Symb, uint64_t &Res) const
virtual error_code getSymbolAddress (DataRefImpl Symb, uint64_t &Res) const
virtual error_code getSymbolAlignment (DataRefImpl Symb, uint32_t &Res) const
virtual error_code getSymbolSize (DataRefImpl Symb, uint64_t &Res) const
virtual error_code getSymbolNMTypeChar (DataRefImpl Symb, char &Res) const
virtual error_code getSymbolFlags (DataRefImpl Symb, uint32_t &Res) const
virtual error_code getSymbolType (DataRefImpl Symb, SymbolRef::Type &Res) const
virtual error_code getSymbolSection (DataRefImpl Symb, section_iterator &Res) const
virtual error_code getSymbolValue (DataRefImpl Symb, uint64_t &Val) const
virtual error_code getLibraryNext (DataRefImpl Data, LibraryRef &Result) const
virtual error_code getLibraryPath (DataRefImpl Data, StringRef &Res) const
virtual error_code getSectionNext (DataRefImpl Sec, SectionRef &Res) const
virtual error_code getSectionName (DataRefImpl Sec, StringRef &Res) const
virtual error_code getSectionAddress (DataRefImpl Sec, uint64_t &Res) const
virtual error_code getSectionSize (DataRefImpl Sec, uint64_t &Res) const
virtual error_code getSectionContents (DataRefImpl Sec, StringRef &Res) const
virtual error_code getSectionAlignment (DataRefImpl Sec, uint64_t &Res) const
virtual error_code isSectionText (DataRefImpl Sec, bool &Res) const
virtual error_code isSectionData (DataRefImpl Sec, bool &Res) const
virtual error_code isSectionBSS (DataRefImpl Sec, bool &Res) const
virtual error_code isSectionRequiredForExecution (DataRefImpl Sec, bool &Res) const
virtual error_code isSectionVirtual (DataRefImpl Sec, bool &Res) const
virtual error_code isSectionZeroInit (DataRefImpl Sec, bool &Res) const
virtual error_code isSectionReadOnlyData (DataRefImpl Sec, bool &Res) const
virtual error_code sectionContainsSymbol (DataRefImpl Sec, DataRefImpl Symb, bool &Result) const
virtual relocation_iterator getSectionRelBegin (DataRefImpl Sec) const
virtual relocation_iterator getSectionRelEnd (DataRefImpl Sec) const
virtual section_iterator getRelocatedSection (DataRefImpl Sec) const
virtual error_code getRelocationNext (DataRefImpl Rel, RelocationRef &Res) const
virtual error_code getRelocationAddress (DataRefImpl Rel, uint64_t &Res) const
virtual error_code getRelocationOffset (DataRefImpl Rel, uint64_t &Res) const
virtual symbol_iterator getRelocationSymbol (DataRefImpl Rel) const
virtual error_code getRelocationType (DataRefImpl Rel, uint64_t &Res) const
virtual error_code getRelocationTypeName (DataRefImpl Rel, SmallVectorImpl< char > &Result) const
virtual error_code getRelocationValueString (DataRefImpl Rel, SmallVectorImpl< char > &Result) const

Protected Attributes

bool isDyldELFObject

Detailed Description

template<class ELFT>
class llvm::object::ELFObjectFile< ELFT >

Definition at line 490 of file Object/ELF.h.


Member Typedef Documentation

template<class ELFT>
typedef Elf_Dyn_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Dyn

Definition at line 562 of file Object/ELF.h.

template<class ELFT>
typedef ELFEntityIterator<const Elf_Dyn> llvm::object::ELFObjectFile< ELFT >::Elf_Dyn_iterator

Definition at line 571 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Ehdr_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Ehdr

Definition at line 559 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Phdr_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Phdr

Definition at line 563 of file Object/ELF.h.

template<class ELFT>
typedef ELFEntityIterator<const Elf_Phdr> llvm::object::ELFObjectFile< ELFT >::Elf_Phdr_Iter

Iterate over program header table.

Definition at line 793 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Rel_Impl<ELFT, false> llvm::object::ELFObjectFile< ELFT >::Elf_Rel

Definition at line 564 of file Object/ELF.h.

template<class ELFT>
typedef ELFEntityIterator<const Elf_Rel> llvm::object::ELFObjectFile< ELFT >::Elf_Rel_Iter

Definition at line 574 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Rel_Impl<ELFT, true> llvm::object::ELFObjectFile< ELFT >::Elf_Rela

Definition at line 565 of file Object/ELF.h.

template<class ELFT>
typedef ELFEntityIterator<const Elf_Rela> llvm::object::ELFObjectFile< ELFT >::Elf_Rela_Iter

Definition at line 573 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Shdr_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Shdr

Definition at line 560 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Sym_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Sym

Definition at line 561 of file Object/ELF.h.

template<class ELFT>
typedef ELFEntityIterator<const Elf_Sym> llvm::object::ELFObjectFile< ELFT >::Elf_Sym_iterator

Definition at line 572 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Verdaux_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Verdaux

Definition at line 567 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Verdef_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Verdef

Definition at line 566 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Vernaux_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Vernaux

Definition at line 569 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Verneed_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Verneed

Definition at line 568 of file Object/ELF.h.

template<class ELFT>
typedef Elf_Versym_Impl<ELFT> llvm::object::ELFObjectFile< ELFT >::Elf_Versym

Definition at line 570 of file Object/ELF.h.


Constructor & Destructor Documentation

template<class ELFT >
llvm::object::ELFObjectFile< ELFT >::ELFObjectFile ( MemoryBuffer Object,
error_code ec 
)

Member Function Documentation

template<class ELFT >
symbol_iterator llvm::object::ELFObjectFile< ELFT >::begin_dynamic_symbols ( ) const [virtual]
template<class ELFT >
ELFObjectFile< ELFT >::Elf_Dyn_iterator llvm::object::ELFObjectFile< ELFT >::begin_dynamic_table ( ) const

Definition at line 2543 of file Object/ELF.h.

template<class ELFT>
Elf_Sym_iterator llvm::object::ELFObjectFile< ELFT >::begin_elf_dynamic_symbols ( ) const [inline]

Definition at line 756 of file Object/ELF.h.

template<class ELFT >
library_iterator llvm::object::ELFObjectFile< ELFT >::begin_libraries_needed ( ) const [virtual]
template<class ELFT>
Elf_Phdr_Iter llvm::object::ELFObjectFile< ELFT >::begin_program_headers ( ) const [inline]
template<class ELFT >
section_iterator llvm::object::ELFObjectFile< ELFT >::begin_sections ( ) const [virtual]
template<class ELFT >
symbol_iterator llvm::object::ELFObjectFile< ELFT >::begin_symbols ( ) const [virtual]
template<class ELFT>
Elf_Rel_Iter llvm::object::ELFObjectFile< ELFT >::beginELFRel ( const Elf_Shdr sec) const [inline]

Definition at line 782 of file Object/ELF.h.

template<class ELFT>
Elf_Rela_Iter llvm::object::ELFObjectFile< ELFT >::beginELFRela ( const Elf_Shdr sec) const [inline]

Definition at line 772 of file Object/ELF.h.

template<class ELFT>
static bool llvm::object::ELFObjectFile< ELFT >::classof ( const Binary v) [inline, static]

Reimplemented from llvm::object::ObjectFile.

Definition at line 826 of file Object/ELF.h.

References llvm::object::Binary::getType(), and llvm::support::little.

template<class ELFT >
symbol_iterator llvm::object::ELFObjectFile< ELFT >::end_dynamic_symbols ( ) const [virtual]
template<class ELFT >
ELFObjectFile< ELFT >::Elf_Dyn_iterator llvm::object::ELFObjectFile< ELFT >::end_dynamic_table ( bool  NULLEnd = false) const
Parameters:
NULLEnduse one past the first DT_NULL entry as the end instead of the section size.

Definition at line 2552 of file Object/ELF.h.

References llvm::ELF::DT_NULL, and llvm::AArch64ISD::Ret.

template<class ELFT>
Elf_Sym_iterator llvm::object::ELFObjectFile< ELFT >::end_elf_dynamic_symbols ( ) const [inline]

Definition at line 764 of file Object/ELF.h.

template<class ELFT >
library_iterator llvm::object::ELFObjectFile< ELFT >::end_libraries_needed ( ) const [virtual]
template<class ELFT>
Elf_Phdr_Iter llvm::object::ELFObjectFile< ELFT >::end_program_headers ( ) const [inline]
template<class ELFT >
section_iterator llvm::object::ELFObjectFile< ELFT >::end_sections ( ) const [virtual]
template<class ELFT >
symbol_iterator llvm::object::ELFObjectFile< ELFT >::end_symbols ( ) const [virtual]
template<class ELFT>
Elf_Rel_Iter llvm::object::ELFObjectFile< ELFT >::endELFRel ( const Elf_Shdr sec) const [inline]

Definition at line 787 of file Object/ELF.h.

template<class ELFT>
Elf_Rela_Iter llvm::object::ELFObjectFile< ELFT >::endELFRela ( const Elf_Shdr sec) const [inline]

Definition at line 777 of file Object/ELF.h.

template<class ELFT >
unsigned llvm::object::ELFObjectFile< ELFT >::getArch ( ) const [virtual]
template<class ELFT >
uint8_t llvm::object::ELFObjectFile< ELFT >::getBytesInAddress ( ) const [virtual]

The number of bytes used to represent an address in this object file format.

Implements llvm::object::ObjectFile.

Definition at line 2656 of file Object/ELF.h.

template<class ELFT>
const Elf_Dyn* llvm::object::ELFObjectFile< ELFT >::getDyn ( DataRefImpl  DynData) const
template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::getDynamicStringTableSectionHeader ( ) const [inline]

Definition at line 747 of file Object/ELF.h.

template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::getDynamicSymbolTableSectionHeader ( ) const [inline]

Definition at line 743 of file Object/ELF.h.

template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Ehdr * llvm::object::ELFObjectFile< ELFT >::getElfHeader ( ) const

Definition at line 988 of file Object/ELF.h.

Referenced by llvm::MCObjectSymbolizer::MCObjectSymbolizer().

template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Shdr * llvm::object::ELFObjectFile< ELFT >::getElfSection ( section_iterator It) const

Definition at line 994 of file Object/ELF.h.

References llvm::object::DataRefImpl::p.

template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Sym * llvm::object::ELFObjectFile< ELFT >::getElfSymbol ( symbol_iterator It) const

Definition at line 1001 of file Object/ELF.h.

template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Sym * llvm::object::ELFObjectFile< ELFT >::getElfSymbol ( uint32_t  index) const
template<class ELFT >
template<typename T >
const T * llvm::object::ELFObjectFile< ELFT >::getEntry ( uint32_t  Section,
uint32_t  Entry 
) const [inline]

Definition at line 2751 of file Object/ELF.h.

template<class ELFT >
template<typename T >
const T * llvm::object::ELFObjectFile< ELFT >::getEntry ( const Elf_Shdr Section,
uint32_t  Entry 
) const [inline]

Definition at line 2758 of file Object/ELF.h.

template<class ELFT >
StringRef llvm::object::ELFObjectFile< ELFT >::getFileFormatName ( ) const [virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getLibraryNext ( DataRefImpl  Data,
LibraryRef Result 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getLibraryPath ( DataRefImpl  Data,
StringRef Res 
) const [protected, virtual]
template<class ELFT >
StringRef llvm::object::ELFObjectFile< ELFT >::getLoadName ( ) const [virtual]

For shared objects, returns the name which this object should be loaded from at runtime. This corresponds to DT_SONAME on ELF and LC_ID_DYLIB (install name) on MachO.

Implements llvm::object::ObjectFile.

Definition at line 2574 of file Object/ELF.h.

References llvm::ELF::DT_SONAME, and llvm::report_fatal_error().

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getNumSections ( ) const
template<class ELFT>
virtual StringRef llvm::object::ELFObjectFile< ELFT >::getObjectType ( ) const [inline, virtual]

Definition at line 809 of file Object/ELF.h.

template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Rel * llvm::object::ELFObjectFile< ELFT >::getRel ( DataRefImpl  Rel) const
template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Rela * llvm::object::ELFObjectFile< ELFT >::getRela ( DataRefImpl  Rela) const
template<class ELFT >
section_iterator llvm::object::ELFObjectFile< ELFT >::getRelocatedSection ( DataRefImpl  Sec) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationAddend ( DataRefImpl  Rel,
int64_t &  Res 
) const
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationAddress ( DataRefImpl  Rel,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationNext ( DataRefImpl  Rel,
RelocationRef Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationOffset ( DataRefImpl  Rel,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
symbol_iterator llvm::object::ELFObjectFile< ELFT >::getRelocationSymbol ( DataRefImpl  Rel) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationType ( DataRefImpl  Rel,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
StringRef llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName ( uint32_t  Type) const [protected]

Definition at line 1562 of file Object/ELF.h.

References llvm::object::Elf_Ehdr_Impl< ELFT >::e_machine, 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_X86_64, LLVM_ELF_SWITCH_RELOC_TYPE_NAME, llvm::ELF::R_386_16, llvm::ELF::R_386_32, llvm::ELF::R_386_32PLT, llvm::ELF::R_386_8, llvm::ELF::R_386_COPY, llvm::ELF::R_386_GLOB_DAT, llvm::ELF::R_386_GOT32, llvm::ELF::R_386_GOTOFF, llvm::ELF::R_386_GOTPC, llvm::ELF::R_386_IRELATIVE, llvm::ELF::R_386_JUMP_SLOT, llvm::ELF::R_386_NONE, llvm::ELF::R_386_PC16, llvm::ELF::R_386_PC32, llvm::ELF::R_386_PC8, llvm::ELF::R_386_PLT32, llvm::ELF::R_386_RELATIVE, llvm::ELF::R_386_TLS_DESC, llvm::ELF::R_386_TLS_DESC_CALL, llvm::ELF::R_386_TLS_DTPMOD32, llvm::ELF::R_386_TLS_DTPOFF32, llvm::ELF::R_386_TLS_GD, llvm::ELF::R_386_TLS_GD_32, llvm::ELF::R_386_TLS_GD_CALL, llvm::ELF::R_386_TLS_GD_POP, llvm::ELF::R_386_TLS_GD_PUSH, llvm::ELF::R_386_TLS_GOTDESC, llvm::ELF::R_386_TLS_GOTIE, llvm::ELF::R_386_TLS_IE, llvm::ELF::R_386_TLS_IE_32, llvm::ELF::R_386_TLS_LDM, llvm::ELF::R_386_TLS_LDM_32, llvm::ELF::R_386_TLS_LDM_CALL, llvm::ELF::R_386_TLS_LDM_POP, llvm::ELF::R_386_TLS_LDM_PUSH, llvm::ELF::R_386_TLS_LDO_32, llvm::ELF::R_386_TLS_LE, llvm::ELF::R_386_TLS_LE_32, llvm::ELF::R_386_TLS_TPOFF, llvm::ELF::R_386_TLS_TPOFF32, llvm::ELF::R_390_12, llvm::ELF::R_390_16, llvm::ELF::R_390_20, llvm::ELF::R_390_32, llvm::ELF::R_390_64, llvm::ELF::R_390_8, llvm::ELF::R_390_COPY, llvm::ELF::R_390_GLOB_DAT, llvm::ELF::R_390_GOT12, llvm::ELF::R_390_GOT16, llvm::ELF::R_390_GOT20, llvm::ELF::R_390_GOT32, llvm::ELF::R_390_GOT64, llvm::ELF::R_390_GOTENT, llvm::ELF::R_390_GOTOFF, llvm::ELF::R_390_GOTOFF16, llvm::ELF::R_390_GOTOFF64, llvm::ELF::R_390_GOTPC, llvm::ELF::R_390_GOTPCDBL, llvm::ELF::R_390_GOTPLT12, llvm::ELF::R_390_GOTPLT16, llvm::ELF::R_390_GOTPLT20, llvm::ELF::R_390_GOTPLT32, llvm::ELF::R_390_GOTPLT64, llvm::ELF::R_390_GOTPLTENT, llvm::ELF::R_390_IRELATIVE, llvm::ELF::R_390_JMP_SLOT, llvm::ELF::R_390_NONE, llvm::ELF::R_390_PC16, llvm::ELF::R_390_PC16DBL, llvm::ELF::R_390_PC32, llvm::ELF::R_390_PC32DBL, llvm::ELF::R_390_PC64, llvm::ELF::R_390_PLT16DBL, llvm::ELF::R_390_PLT32, llvm::ELF::R_390_PLT32DBL, llvm::ELF::R_390_PLT64, llvm::ELF::R_390_PLTOFF16, llvm::ELF::R_390_PLTOFF32, llvm::ELF::R_390_PLTOFF64, llvm::ELF::R_390_RELATIVE, llvm::ELF::R_390_TLS_DTPMOD, llvm::ELF::R_390_TLS_DTPOFF, llvm::ELF::R_390_TLS_GD32, llvm::ELF::R_390_TLS_GD64, llvm::ELF::R_390_TLS_GDCALL, llvm::ELF::R_390_TLS_GOTIE12, llvm::ELF::R_390_TLS_GOTIE20, llvm::ELF::R_390_TLS_GOTIE32, llvm::ELF::R_390_TLS_GOTIE64, llvm::ELF::R_390_TLS_IE32, llvm::ELF::R_390_TLS_IE64, llvm::ELF::R_390_TLS_IEENT, llvm::ELF::R_390_TLS_LDCALL, llvm::ELF::R_390_TLS_LDM32, llvm::ELF::R_390_TLS_LDM64, llvm::ELF::R_390_TLS_LDO32, llvm::ELF::R_390_TLS_LDO64, llvm::ELF::R_390_TLS_LE32, llvm::ELF::R_390_TLS_LE64, llvm::ELF::R_390_TLS_LOAD, llvm::ELF::R_390_TLS_TPOFF, llvm::ELF::R_AARCH64_ABS16, llvm::ELF::R_AARCH64_ABS32, llvm::ELF::R_AARCH64_ABS64, llvm::ELF::R_AARCH64_ADD_ABS_LO12_NC, llvm::ELF::R_AARCH64_ADR_GOT_PAGE, llvm::ELF::R_AARCH64_ADR_PREL_LO21, llvm::ELF::R_AARCH64_ADR_PREL_PG_HI21, llvm::ELF::R_AARCH64_CALL26, llvm::ELF::R_AARCH64_CONDBR19, llvm::ELF::R_AARCH64_JUMP26, llvm::ELF::R_AARCH64_LD64_GOT_LO12_NC, llvm::ELF::R_AARCH64_LD_PREL_LO19, llvm::ELF::R_AARCH64_LDST128_ABS_LO12_NC, llvm::ELF::R_AARCH64_LDST16_ABS_LO12_NC, llvm::ELF::R_AARCH64_LDST32_ABS_LO12_NC, llvm::ELF::R_AARCH64_LDST64_ABS_LO12_NC, llvm::ELF::R_AARCH64_LDST8_ABS_LO12_NC, llvm::ELF::R_AARCH64_MOVW_SABS_G0, llvm::ELF::R_AARCH64_MOVW_SABS_G1, llvm::ELF::R_AARCH64_MOVW_SABS_G2, llvm::ELF::R_AARCH64_MOVW_UABS_G0, llvm::ELF::R_AARCH64_MOVW_UABS_G0_NC, llvm::ELF::R_AARCH64_MOVW_UABS_G1, llvm::ELF::R_AARCH64_MOVW_UABS_G1_NC, llvm::ELF::R_AARCH64_MOVW_UABS_G2, llvm::ELF::R_AARCH64_MOVW_UABS_G2_NC, llvm::ELF::R_AARCH64_MOVW_UABS_G3, llvm::ELF::R_AARCH64_NONE, llvm::ELF::R_AARCH64_PREL16, llvm::ELF::R_AARCH64_PREL32, llvm::ELF::R_AARCH64_PREL64, llvm::ELF::R_AARCH64_TLSDESC_ADD_LO12_NC, llvm::ELF::R_AARCH64_TLSDESC_ADR_PAGE, llvm::ELF::R_AARCH64_TLSDESC_CALL, llvm::ELF::R_AARCH64_TLSDESC_LD64_LO12_NC, llvm::ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, llvm::ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, llvm::ELF::R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, llvm::ELF::R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, llvm::ELF::R_AARCH64_TLSLD_ADD_DTPREL_HI12, llvm::ELF::R_AARCH64_TLSLD_ADD_DTPREL_LO12, llvm::ELF::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLD_LDST16_DTPREL_LO12, llvm::ELF::R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLD_LDST32_DTPREL_LO12, llvm::ELF::R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLD_LDST64_DTPREL_LO12, llvm::ELF::R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLD_LDST8_DTPREL_LO12, llvm::ELF::R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLD_MOVW_DTPREL_G0, llvm::ELF::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, llvm::ELF::R_AARCH64_TLSLD_MOVW_DTPREL_G1, llvm::ELF::R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, llvm::ELF::R_AARCH64_TLSLD_MOVW_DTPREL_G2, llvm::ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12, llvm::ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12, llvm::ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLE_LDST16_TPREL_LO12, llvm::ELF::R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLE_LDST32_TPREL_LO12, llvm::ELF::R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLE_LDST64_TPREL_LO12, llvm::ELF::R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLE_LDST8_TPREL_LO12, llvm::ELF::R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC, llvm::ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0, llvm::ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC, llvm::ELF::R_AARCH64_TLSLE_MOVW_TPREL_G1, llvm::ELF::R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, llvm::ELF::R_AARCH64_TLSLE_MOVW_TPREL_G2, llvm::ELF::R_AARCH64_TSTBR14, llvm::ELF::R_ARM_ABS12, llvm::ELF::R_ARM_ABS16, llvm::ELF::R_ARM_ABS32, llvm::ELF::R_ARM_ABS32_NOI, llvm::ELF::R_ARM_ABS8, llvm::ELF::R_ARM_ALU_PC_G0, llvm::ELF::R_ARM_ALU_PC_G0_NC, llvm::ELF::R_ARM_ALU_PC_G1, llvm::ELF::R_ARM_ALU_PC_G1_NC, llvm::ELF::R_ARM_ALU_PC_G2, llvm::ELF::R_ARM_ALU_PCREL_15_8, llvm::ELF::R_ARM_ALU_PCREL_23_15, llvm::ELF::R_ARM_ALU_PCREL_7_0, llvm::ELF::R_ARM_ALU_SB_G0, llvm::ELF::R_ARM_ALU_SB_G0_NC, llvm::ELF::R_ARM_ALU_SB_G1, llvm::ELF::R_ARM_ALU_SB_G1_NC, llvm::ELF::R_ARM_ALU_SB_G2, llvm::ELF::R_ARM_ALU_SBREL_19_12_NC, llvm::ELF::R_ARM_ALU_SBREL_27_20_CK, llvm::ELF::R_ARM_BASE_ABS, llvm::ELF::R_ARM_BASE_PREL, llvm::ELF::R_ARM_BREL_ADJ, llvm::ELF::R_ARM_CALL, llvm::ELF::R_ARM_COPY, llvm::ELF::R_ARM_GLOB_DAT, llvm::ELF::R_ARM_GNU_VTENTRY, llvm::ELF::R_ARM_GNU_VTINHERIT, llvm::ELF::R_ARM_GOT_ABS, llvm::ELF::R_ARM_GOT_BREL, llvm::ELF::R_ARM_GOT_BREL12, llvm::ELF::R_ARM_GOT_PREL, llvm::ELF::R_ARM_GOTOFF12, llvm::ELF::R_ARM_GOTOFF32, llvm::ELF::R_ARM_GOTRELAX, llvm::ELF::R_ARM_JUMP24, llvm::ELF::R_ARM_JUMP_SLOT, llvm::ELF::R_ARM_LDC_PC_G0, llvm::ELF::R_ARM_LDC_PC_G1, llvm::ELF::R_ARM_LDC_PC_G2, llvm::ELF::R_ARM_LDC_SB_G0, llvm::ELF::R_ARM_LDC_SB_G1, llvm::ELF::R_ARM_LDC_SB_G2, llvm::ELF::R_ARM_LDR_PC_G0, llvm::ELF::R_ARM_LDR_PC_G1, llvm::ELF::R_ARM_LDR_PC_G2, llvm::ELF::R_ARM_LDR_SB_G0, llvm::ELF::R_ARM_LDR_SB_G1, llvm::ELF::R_ARM_LDR_SB_G2, llvm::ELF::R_ARM_LDR_SBREL_11_0_NC, llvm::ELF::R_ARM_LDRS_PC_G0, llvm::ELF::R_ARM_LDRS_PC_G1, llvm::ELF::R_ARM_LDRS_PC_G2, llvm::ELF::R_ARM_LDRS_SB_G0, llvm::ELF::R_ARM_LDRS_SB_G1, llvm::ELF::R_ARM_LDRS_SB_G2, llvm::ELF::R_ARM_ME_TOO, llvm::ELF::R_ARM_MOVT_ABS, llvm::ELF::R_ARM_MOVT_BREL, llvm::ELF::R_ARM_MOVT_PREL, llvm::ELF::R_ARM_MOVW_ABS_NC, llvm::ELF::R_ARM_MOVW_BREL, llvm::ELF::R_ARM_MOVW_BREL_NC, llvm::ELF::R_ARM_MOVW_PREL_NC, llvm::ELF::R_ARM_NONE, llvm::ELF::R_ARM_PC24, llvm::ELF::R_ARM_PLT32, llvm::ELF::R_ARM_PLT32_ABS, llvm::ELF::R_ARM_PREL31, llvm::ELF::R_ARM_PRIVATE_0, llvm::ELF::R_ARM_PRIVATE_1, llvm::ELF::R_ARM_PRIVATE_10, llvm::ELF::R_ARM_PRIVATE_11, llvm::ELF::R_ARM_PRIVATE_12, llvm::ELF::R_ARM_PRIVATE_13, llvm::ELF::R_ARM_PRIVATE_14, llvm::ELF::R_ARM_PRIVATE_15, llvm::ELF::R_ARM_PRIVATE_2, llvm::ELF::R_ARM_PRIVATE_3, llvm::ELF::R_ARM_PRIVATE_4, llvm::ELF::R_ARM_PRIVATE_5, llvm::ELF::R_ARM_PRIVATE_6, llvm::ELF::R_ARM_PRIVATE_7, llvm::ELF::R_ARM_PRIVATE_8, llvm::ELF::R_ARM_PRIVATE_9, llvm::ELF::R_ARM_REL32, llvm::ELF::R_ARM_REL32_NOI, llvm::ELF::R_ARM_RELATIVE, llvm::ELF::R_ARM_SBREL31, llvm::ELF::R_ARM_SBREL32, llvm::ELF::R_ARM_TARGET1, llvm::ELF::R_ARM_TARGET2, llvm::ELF::R_ARM_THM_ABS5, llvm::ELF::R_ARM_THM_ALU_PREL_11_0, llvm::ELF::R_ARM_THM_CALL, llvm::ELF::R_ARM_THM_JUMP11, llvm::ELF::R_ARM_THM_JUMP19, llvm::ELF::R_ARM_THM_JUMP24, llvm::ELF::R_ARM_THM_JUMP6, llvm::ELF::R_ARM_THM_JUMP8, llvm::ELF::R_ARM_THM_MOVT_ABS, llvm::ELF::R_ARM_THM_MOVT_BREL, llvm::ELF::R_ARM_THM_MOVT_PREL, llvm::ELF::R_ARM_THM_MOVW_ABS_NC, llvm::ELF::R_ARM_THM_MOVW_BREL, llvm::ELF::R_ARM_THM_MOVW_BREL_NC, llvm::ELF::R_ARM_THM_MOVW_PREL_NC, llvm::ELF::R_ARM_THM_PC12, llvm::ELF::R_ARM_THM_PC8, llvm::ELF::R_ARM_THM_SWI8, llvm::ELF::R_ARM_THM_TLS_CALL, llvm::ELF::R_ARM_THM_TLS_DESCSEQ16, llvm::ELF::R_ARM_THM_TLS_DESCSEQ32, llvm::ELF::R_ARM_THM_XPC22, llvm::ELF::R_ARM_TLS_CALL, llvm::ELF::R_ARM_TLS_DESC, llvm::ELF::R_ARM_TLS_DESCSEQ, llvm::ELF::R_ARM_TLS_DTPMOD32, llvm::ELF::R_ARM_TLS_DTPOFF32, llvm::ELF::R_ARM_TLS_GD32, llvm::ELF::R_ARM_TLS_GOTDESC, llvm::ELF::R_ARM_TLS_IE12GP, llvm::ELF::R_ARM_TLS_IE32, llvm::ELF::R_ARM_TLS_LDM32, llvm::ELF::R_ARM_TLS_LDO12, llvm::ELF::R_ARM_TLS_LDO32, llvm::ELF::R_ARM_TLS_LE12, llvm::ELF::R_ARM_TLS_LE32, llvm::ELF::R_ARM_TLS_TPOFF32, llvm::ELF::R_ARM_V4BX, llvm::ELF::R_ARM_XPC25, llvm::ELF::R_HEX_10_X, llvm::ELF::R_HEX_11_X, llvm::ELF::R_HEX_12_X, llvm::ELF::R_HEX_16, llvm::ELF::R_HEX_16_X, llvm::ELF::R_HEX_32, llvm::ELF::R_HEX_32_6_X, llvm::ELF::R_HEX_32_PCREL, llvm::ELF::R_HEX_6_PCREL_X, llvm::ELF::R_HEX_6_X, llvm::ELF::R_HEX_7_X, llvm::ELF::R_HEX_8, llvm::ELF::R_HEX_8_X, llvm::ELF::R_HEX_9_X, llvm::ELF::R_HEX_B13_PCREL, llvm::ELF::R_HEX_B13_PCREL_X, llvm::ELF::R_HEX_B15_PCREL, llvm::ELF::R_HEX_B15_PCREL_X, llvm::ELF::R_HEX_B22_PCREL, llvm::ELF::R_HEX_B22_PCREL_X, llvm::ELF::R_HEX_B32_PCREL_X, llvm::ELF::R_HEX_B7_PCREL, llvm::ELF::R_HEX_B7_PCREL_X, llvm::ELF::R_HEX_B9_PCREL, llvm::ELF::R_HEX_B9_PCREL_X, llvm::ELF::R_HEX_COPY, llvm::ELF::R_HEX_DTPMOD_32, llvm::ELF::R_HEX_DTPREL_11_X, llvm::ELF::R_HEX_DTPREL_16, llvm::ELF::R_HEX_DTPREL_16_X, llvm::ELF::R_HEX_DTPREL_32, llvm::ELF::R_HEX_DTPREL_32_6_X, llvm::ELF::R_HEX_DTPREL_HI16, llvm::ELF::R_HEX_DTPREL_LO16, llvm::ELF::R_HEX_GD_GOT_11_X, llvm::ELF::R_HEX_GD_GOT_16, llvm::ELF::R_HEX_GD_GOT_16_X, llvm::ELF::R_HEX_GD_GOT_32, llvm::ELF::R_HEX_GD_GOT_32_6_X, llvm::ELF::R_HEX_GD_GOT_HI16, llvm::ELF::R_HEX_GD_GOT_LO16, llvm::ELF::R_HEX_GD_PLT_B22_PCREL, llvm::ELF::R_HEX_GLOB_DAT, llvm::ELF::R_HEX_GOT_11_X, llvm::ELF::R_HEX_GOT_16, llvm::ELF::R_HEX_GOT_16_X, llvm::ELF::R_HEX_GOT_32, llvm::ELF::R_HEX_GOT_32_6_X, llvm::ELF::R_HEX_GOT_HI16, llvm::ELF::R_HEX_GOT_LO16, llvm::ELF::R_HEX_GOTREL_11_X, llvm::ELF::R_HEX_GOTREL_16_X, llvm::ELF::R_HEX_GOTREL_32, llvm::ELF::R_HEX_GOTREL_32_6_X, llvm::ELF::R_HEX_GOTREL_HI16, llvm::ELF::R_HEX_GOTREL_LO16, llvm::ELF::R_HEX_GPREL16_0, llvm::ELF::R_HEX_GPREL16_1, llvm::ELF::R_HEX_GPREL16_2, llvm::ELF::R_HEX_GPREL16_3, llvm::ELF::R_HEX_HI16, llvm::ELF::R_HEX_HL16, llvm::ELF::R_HEX_IE_16_X, llvm::ELF::R_HEX_IE_32, llvm::ELF::R_HEX_IE_32_6_X, llvm::ELF::R_HEX_IE_GOT_11_X, llvm::ELF::R_HEX_IE_GOT_16, llvm::ELF::R_HEX_IE_GOT_16_X, llvm::ELF::R_HEX_IE_GOT_32, llvm::ELF::R_HEX_IE_GOT_32_6_X, llvm::ELF::R_HEX_IE_GOT_HI16, llvm::ELF::R_HEX_IE_GOT_LO16, llvm::ELF::R_HEX_IE_HI16, llvm::ELF::R_HEX_IE_LO16, llvm::ELF::R_HEX_JMP_SLOT, llvm::ELF::R_HEX_LO16, llvm::ELF::R_HEX_NONE, llvm::ELF::R_HEX_PLT_B22_PCREL, llvm::ELF::R_HEX_RELATIVE, llvm::ELF::R_HEX_TPREL_11_X, llvm::ELF::R_HEX_TPREL_16, llvm::ELF::R_HEX_TPREL_16_X, llvm::ELF::R_HEX_TPREL_32, llvm::ELF::R_HEX_TPREL_32_6_X, llvm::ELF::R_HEX_TPREL_HI16, llvm::ELF::R_HEX_TPREL_LO16, llvm::ELF::R_MIPS_16, llvm::ELF::R_MIPS_26, llvm::ELF::R_MIPS_32, llvm::ELF::R_MIPS_64, llvm::ELF::R_MIPS_ADD_IMMEDIATE, llvm::ELF::R_MIPS_CALL16, llvm::ELF::R_MIPS_CALL_HI16, llvm::ELF::R_MIPS_CALL_LO16, llvm::ELF::R_MIPS_COPY, llvm::ELF::R_MIPS_DELETE, llvm::ELF::R_MIPS_GLOB_DAT, llvm::ELF::R_MIPS_GOT16, llvm::ELF::R_MIPS_GOT_DISP, llvm::ELF::R_MIPS_GOT_HI16, llvm::ELF::R_MIPS_GOT_LO16, llvm::ELF::R_MIPS_GOT_OFST, llvm::ELF::R_MIPS_GOT_PAGE, llvm::ELF::R_MIPS_GPREL16, llvm::ELF::R_MIPS_GPREL32, llvm::ELF::R_MIPS_HI16, llvm::ELF::R_MIPS_HIGHER, llvm::ELF::R_MIPS_HIGHEST, llvm::ELF::R_MIPS_INSERT_A, llvm::ELF::R_MIPS_INSERT_B, llvm::ELF::R_MIPS_JALR, llvm::ELF::R_MIPS_JUMP_SLOT, llvm::ELF::R_MIPS_LITERAL, llvm::ELF::R_MIPS_LO16, llvm::ELF::R_MIPS_NONE, llvm::ELF::R_MIPS_NUM, llvm::ELF::R_MIPS_PC16, llvm::ELF::R_MIPS_PJUMP, llvm::ELF::R_MIPS_REL16, llvm::ELF::R_MIPS_REL32, llvm::ELF::R_MIPS_RELGOT, llvm::ELF::R_MIPS_SCN_DISP, llvm::ELF::R_MIPS_SHIFT5, llvm::ELF::R_MIPS_SHIFT6, llvm::ELF::R_MIPS_SUB, llvm::ELF::R_MIPS_TLS_DTPMOD32, llvm::ELF::R_MIPS_TLS_DTPMOD64, llvm::ELF::R_MIPS_TLS_DTPREL32, llvm::ELF::R_MIPS_TLS_DTPREL64, llvm::ELF::R_MIPS_TLS_DTPREL_HI16, llvm::ELF::R_MIPS_TLS_DTPREL_LO16, llvm::ELF::R_MIPS_TLS_GD, llvm::ELF::R_MIPS_TLS_GOTTPREL, llvm::ELF::R_MIPS_TLS_LDM, llvm::ELF::R_MIPS_TLS_TPREL32, llvm::ELF::R_MIPS_TLS_TPREL64, llvm::ELF::R_MIPS_TLS_TPREL_HI16, llvm::ELF::R_MIPS_TLS_TPREL_LO16, llvm::ELF::R_PPC64_ADDR14, llvm::ELF::R_PPC64_ADDR14_BRNTAKEN, llvm::ELF::R_PPC64_ADDR14_BRTAKEN, llvm::ELF::R_PPC64_ADDR16, llvm::ELF::R_PPC64_ADDR16_DS, llvm::ELF::R_PPC64_ADDR16_HA, llvm::ELF::R_PPC64_ADDR16_HI, llvm::ELF::R_PPC64_ADDR16_HIGHER, llvm::ELF::R_PPC64_ADDR16_HIGHEST, llvm::ELF::R_PPC64_ADDR16_LO, llvm::ELF::R_PPC64_ADDR16_LO_DS, llvm::ELF::R_PPC64_ADDR24, llvm::ELF::R_PPC64_ADDR32, llvm::ELF::R_PPC64_ADDR64, llvm::ELF::R_PPC64_DTPREL16_HA, llvm::ELF::R_PPC64_DTPREL16_LO, llvm::ELF::R_PPC64_GOT_TLSGD16_HA, llvm::ELF::R_PPC64_GOT_TLSGD16_LO, llvm::ELF::R_PPC64_GOT_TLSLD16_HA, llvm::ELF::R_PPC64_GOT_TLSLD16_LO, llvm::ELF::R_PPC64_GOT_TPREL16_HA, llvm::ELF::R_PPC64_GOT_TPREL16_LO_DS, llvm::ELF::R_PPC64_NONE, llvm::ELF::R_PPC64_REL14, llvm::ELF::R_PPC64_REL14_BRNTAKEN, llvm::ELF::R_PPC64_REL14_BRTAKEN, llvm::ELF::R_PPC64_REL24, llvm::ELF::R_PPC64_REL32, llvm::ELF::R_PPC64_REL64, llvm::ELF::R_PPC64_TLS, llvm::ELF::R_PPC64_TLSGD, llvm::ELF::R_PPC64_TLSLD, llvm::ELF::R_PPC64_TOC, llvm::ELF::R_PPC64_TOC16, llvm::ELF::R_PPC64_TOC16_DS, llvm::ELF::R_PPC64_TOC16_HA, llvm::ELF::R_PPC64_TOC16_LO, llvm::ELF::R_PPC64_TOC16_LO_DS, llvm::ELF::R_PPC64_TPREL16_HA, llvm::ELF::R_PPC64_TPREL16_LO, llvm::ELF::R_PPC_ADDR14, llvm::ELF::R_PPC_ADDR14_BRNTAKEN, llvm::ELF::R_PPC_ADDR14_BRTAKEN, llvm::ELF::R_PPC_ADDR16, llvm::ELF::R_PPC_ADDR16_HA, llvm::ELF::R_PPC_ADDR16_HI, llvm::ELF::R_PPC_ADDR16_LO, llvm::ELF::R_PPC_ADDR24, llvm::ELF::R_PPC_ADDR32, llvm::ELF::R_PPC_NONE, llvm::ELF::R_PPC_REL14, llvm::ELF::R_PPC_REL14_BRNTAKEN, llvm::ELF::R_PPC_REL14_BRTAKEN, llvm::ELF::R_PPC_REL24, llvm::ELF::R_PPC_REL32, llvm::ELF::R_PPC_TPREL16_HA, llvm::ELF::R_PPC_TPREL16_LO, llvm::ELF::R_X86_64_16, llvm::ELF::R_X86_64_32, llvm::ELF::R_X86_64_32S, llvm::ELF::R_X86_64_64, llvm::ELF::R_X86_64_8, llvm::ELF::R_X86_64_COPY, llvm::ELF::R_X86_64_DTPMOD64, llvm::ELF::R_X86_64_DTPOFF32, llvm::ELF::R_X86_64_DTPOFF64, llvm::ELF::R_X86_64_GLOB_DAT, llvm::ELF::R_X86_64_GOT32, llvm::ELF::R_X86_64_GOT64, llvm::ELF::R_X86_64_GOTOFF64, llvm::ELF::R_X86_64_GOTPC32, llvm::ELF::R_X86_64_GOTPC32_TLSDESC, llvm::ELF::R_X86_64_GOTPC64, llvm::ELF::R_X86_64_GOTPCREL, llvm::ELF::R_X86_64_GOTPCREL64, llvm::ELF::R_X86_64_GOTPLT64, llvm::ELF::R_X86_64_GOTTPOFF, llvm::ELF::R_X86_64_IRELATIVE, llvm::ELF::R_X86_64_JUMP_SLOT, llvm::ELF::R_X86_64_NONE, llvm::ELF::R_X86_64_PC16, llvm::ELF::R_X86_64_PC32, llvm::ELF::R_X86_64_PC64, llvm::ELF::R_X86_64_PC8, llvm::ELF::R_X86_64_PLT32, llvm::ELF::R_X86_64_PLTOFF64, llvm::ELF::R_X86_64_RELATIVE, llvm::ELF::R_X86_64_SIZE32, llvm::ELF::R_X86_64_SIZE64, llvm::ELF::R_X86_64_TLSDESC, llvm::ELF::R_X86_64_TLSDESC_CALL, llvm::ELF::R_X86_64_TLSGD, llvm::ELF::R_X86_64_TLSLD, llvm::ELF::R_X86_64_TPOFF32, and llvm::ELF::R_X86_64_TPOFF64.

template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getRelocationValueString ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const [protected, virtual]
template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Shdr * llvm::object::ELFObjectFile< ELFT >::getSection ( DataRefImpl  index) const
template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Shdr * llvm::object::ELFObjectFile< ELFT >::getSection ( uint32_t  index) const
template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Shdr * llvm::object::ELFObjectFile< ELFT >::getSection ( const Elf_Sym symb) const
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionAddress ( DataRefImpl  Sec,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionAlignment ( DataRefImpl  Sec,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionContents ( DataRefImpl  Sec,
StringRef Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionContents ( const Elf_Shdr sec,
StringRef Res 
) const [virtual]

Definition at line 1320 of file Object/ELF.h.

References llvm::object::object_error::success.

template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionName ( const Elf_Shdr section,
StringRef Res 
) const

Definition at line 2848 of file Object/ELF.h.

References llvm::object::object_error::success.

template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionName ( DataRefImpl  Sec,
StringRef Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionNext ( DataRefImpl  Sec,
SectionRef Res 
) const [protected, virtual]
template<class ELFT >
relocation_iterator llvm::object::ELFObjectFile< ELFT >::getSectionRelBegin ( DataRefImpl  Sec) const [protected, virtual]
template<class ELFT >
relocation_iterator llvm::object::ELFObjectFile< ELFT >::getSectionRelEnd ( DataRefImpl  Sec) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSectionSize ( DataRefImpl  Sec,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
const char * llvm::object::ELFObjectFile< ELFT >::getString ( uint32_t  section,
uint32_t  offset 
) const

Definition at line 2808 of file Object/ELF.h.

Referenced by llvm::object::ELFObjectFile< ELFT >::ELFObjectFile().

template<class ELFT >
error_code COFFObjectFile::getString ( const Elf_Shdr section,
uint32_t  offset 
) const

Definition at line 2814 of file Object/ELF.h.

References llvm::report_fatal_error(), and llvm::ELF::SHT_STRTAB.

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getStringTableIndex ( ) const
template<class ELFT >
const ELFObjectFile< ELFT >::Elf_Sym * llvm::object::ELFObjectFile< ELFT >::getSymbol ( DataRefImpl  Symb) const [protected]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolAddress ( DataRefImpl  Symb,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolAlignment ( DataRefImpl  Symb,
uint32_t &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolFileOffset ( DataRefImpl  Symb,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolFlags ( DataRefImpl  Symb,
uint32_t &  Res 
) const [protected, virtual]
template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSymbolIndex ( const Elf_Sym sym) const

Definition at line 2460 of file Object/ELF.h.

template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolName ( const Elf_Shdr section,
const Elf_Sym Symb,
StringRef Res 
) const

Definition at line 2824 of file Object/ELF.h.

References llvm::object::object_error::success.

template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolName ( DataRefImpl  Symb,
StringRef Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolNext ( DataRefImpl  Symb,
SymbolRef Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolNMTypeChar ( DataRefImpl  Symb,
char &  Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolSection ( DataRefImpl  Symb,
section_iterator Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolSize ( DataRefImpl  Symb,
uint64_t &  Res 
) const [protected, virtual]
template<class ELFT >
ELF::Elf64_Word llvm::object::ELFObjectFile< ELFT >::getSymbolTableIndex ( const Elf_Sym symb) const
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolType ( DataRefImpl  Symb,
SymbolRef::Type Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolValue ( DataRefImpl  Symb,
uint64_t &  Val 
) const [protected, virtual]

Implements llvm::object::ObjectFile.

Definition at line 1268 of file Object/ELF.h.

References llvm::object::object_error::success.

template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolVersion ( const Elf_Shdr section,
const Elf_Sym Symb,
StringRef Version,
bool IsDefault 
) const
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::getSymbolVersion ( SymbolRef  Symb,
StringRef Version,
bool IsDefault 
) const
template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isDyldType ( ) const [inline]

Definition at line 825 of file Object/ELF.h.

template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isMips64EL ( ) const [inline]
template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isRelocationHasAddend ( DataRefImpl  Rel) const
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionBSS ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionData ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionReadOnlyData ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionRequiredForExecution ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionText ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionVirtual ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::isSectionZeroInit ( DataRefImpl  Sec,
bool Res 
) const [protected, virtual]
template<class ELFT >
error_code llvm::object::ELFObjectFile< ELFT >::sectionContainsSymbol ( DataRefImpl  Sec,
DataRefImpl  Symb,
bool Result 
) const [protected, virtual]
template<class ELFT >
void llvm::object::ELFObjectFile< ELFT >::validateSymbol ( DataRefImpl  Symb) const [protected]
template<class ELFT >
void llvm::object::ELFObjectFile< ELFT >::VerifyStrTab ( const Elf_Shdr sh) const

Member Data Documentation

template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isDyldELFObject [protected]

Definition at line 580 of file Object/ELF.h.


The documentation for this class was generated from the following files: