LLVM  4.0.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::object::ELFObjectFile< ELFT > Class Template Reference

#include <ELFObjectFile.h>

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

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
 

Public Member Functions

 ELFObjectFile (MemoryBufferRef Object, std::error_code &EC)
 
const Elf_RelgetRel (DataRefImpl Rel) const
 
const Elf_RelagetRela (DataRefImpl Rela) const
 
const Elf_SymgetSymbol (DataRefImpl Sym) const
 
const Elf_ShdrgetSection (DataRefImpl Sec) const
 
basic_symbol_iterator symbol_begin () const override
 
basic_symbol_iterator symbol_end () const override
 
elf_symbol_iterator dynamic_symbol_begin () const
 
elf_symbol_iterator dynamic_symbol_end () const
 
section_iterator section_begin () const override
 
section_iterator section_end () const override
 
ErrorOr< int64_t > getRelocationAddend (DataRefImpl Rel) const override
 
uint8_t getBytesInAddress () const override
 The number of bytes used to represent an address in this object file format. More...
 
StringRef getFileFormatName () const override
 
unsigned getArch () const override
 
std::error_code getPlatformFlags (unsigned &Result) const override
 Returns platform-specific object flags, if any. More...
 
const ELFFile< ELFT > * getELFFile () const
 
bool isDyldType () const
 
elf_symbol_iterator_range getDynamicSymbolIterators () const override
 
bool isRelocatableObject () const override
 True if this is a relocatable object (.o/.obj). More...
 
- Public Member Functions inherited from llvm::object::ELFObjectFileBase
elf_symbol_iterator_range symbols () const
 
SubtargetFeatures getFeatures () const override
 
- Public Member Functions inherited from llvm::object::ObjectFile
uint64_t getCommonSymbolSize (DataRefImpl Symb) const
 
symbol_iterator_range symbols () const
 
section_iterator_range sections () const
 
- Public Member Functions inherited from llvm::object::SymbolicFile
 ~SymbolicFile () override
 
 SymbolicFile (unsigned int Type, MemoryBufferRef Source)
 
basic_symbol_iterator_range symbols () const
 
- Public Member Functions inherited from llvm::object::Binary
virtual ~Binary ()
 
StringRef getData () const
 
StringRef getFileName () const
 
MemoryBufferRef getMemoryBufferRef () const
 
unsigned int getType () const
 
bool isObject () const
 
bool isSymbolic () const
 
bool isArchive () const
 
bool isMachOUniversalBinary () const
 
bool isELF () const
 
bool isMachO () const
 
bool isCOFF () const
 
bool isWasm () const
 
bool isCOFFImportFile () const
 
bool isIR () const
 
bool isModuleSummaryIndex () const
 
bool isLittleEndian () const
 

Static Public Member Functions

static bool classof (const Binary *v)
 
- Static Public Member Functions inherited from llvm::object::ELFObjectFileBase
static bool classof (const Binary *v)
 
- Static Public Member Functions inherited from llvm::object::ObjectFile
static Expected< OwningBinary
< ObjectFile > > 
createObjectFile (StringRef ObjectPath)
 Create ObjectFile from path. More...
 
static Expected
< std::unique_ptr< ObjectFile > > 
createObjectFile (MemoryBufferRef Object, sys::fs::file_magic Type)
 
static Expected
< std::unique_ptr< ObjectFile > > 
createObjectFile (MemoryBufferRef Object)
 
static bool classof (const Binary *v)
 
static ErrorOr
< std::unique_ptr
< COFFObjectFile > > 
createCOFFObjectFile (MemoryBufferRef Object)
 
static ErrorOr
< std::unique_ptr< ObjectFile > > 
createELFObjectFile (MemoryBufferRef Object)
 
static Expected
< std::unique_ptr
< MachOObjectFile > > 
createMachOObjectFile (MemoryBufferRef Object, uint32_t UniversalCputype=0, uint32_t UniversalIndex=0)
 
static Expected
< std::unique_ptr
< WasmObjectFile > > 
createWasmObjectFile (MemoryBufferRef Object)
 
- Static Public Member Functions inherited from llvm::object::SymbolicFile
static Expected
< std::unique_ptr
< SymbolicFile > > 
createSymbolicFile (MemoryBufferRef Object, sys::fs::file_magic Type, LLVMContext *Context)
 
static Expected
< std::unique_ptr
< SymbolicFile > > 
createSymbolicFile (MemoryBufferRef Object)
 
static Expected< OwningBinary
< SymbolicFile > > 
createSymbolicFile (StringRef ObjectPath)
 
static bool classof (const Binary *v)
 

Protected Member Functions

void moveSymbolNext (DataRefImpl &Symb) const override
 
Expected< StringRefgetSymbolName (DataRefImpl Symb) const override
 
Expected< uint64_t > getSymbolAddress (DataRefImpl Symb) const override
 
uint64_t getSymbolValueImpl (DataRefImpl Symb) const override
 
uint32_t getSymbolAlignment (DataRefImpl Symb) const override
 
uint64_t getCommonSymbolSizeImpl (DataRefImpl Symb) const override
 
uint32_t getSymbolFlags (DataRefImpl Symb) const override
 
uint8_t getSymbolOther (DataRefImpl Symb) const override
 
uint8_t getSymbolELFType (DataRefImpl Symb) const override
 
Expected< SymbolRef::TypegetSymbolType (DataRefImpl Symb) const override
 
Expected< section_iteratorgetSymbolSection (const Elf_Sym *Symb, const Elf_Shdr *SymTab) const
 
Expected< section_iteratorgetSymbolSection (DataRefImpl Symb) const override
 
void moveSectionNext (DataRefImpl &Sec) const override
 
std::error_code getSectionName (DataRefImpl Sec, StringRef &Res) const override
 
uint64_t getSectionAddress (DataRefImpl Sec) const override
 
uint64_t getSectionSize (DataRefImpl Sec) const override
 
std::error_code getSectionContents (DataRefImpl Sec, StringRef &Res) const override
 
uint64_t getSectionAlignment (DataRefImpl Sec) const override
 
bool isSectionCompressed (DataRefImpl Sec) const override
 
bool isSectionText (DataRefImpl Sec) const override
 
bool isSectionData (DataRefImpl Sec) const override
 
bool isSectionBSS (DataRefImpl Sec) const override
 
bool isSectionVirtual (DataRefImpl Sec) const override
 
relocation_iterator section_rel_begin (DataRefImpl Sec) const override
 
relocation_iterator section_rel_end (DataRefImpl Sec) const override
 
section_iterator getRelocatedSection (DataRefImpl Sec) const override
 
void moveRelocationNext (DataRefImpl &Rel) const override
 
uint64_t getRelocationOffset (DataRefImpl Rel) const override
 
symbol_iterator getRelocationSymbol (DataRefImpl Rel) const override
 
uint64_t getRelocationType (DataRefImpl Rel) const override
 
void getRelocationTypeName (DataRefImpl Rel, SmallVectorImpl< char > &Result) const override
 
uint32_t getSectionType (DataRefImpl Sec) const override
 
uint64_t getSectionFlags (DataRefImpl Sec) const override
 
uint64_t getSectionOffset (DataRefImpl Sec) const override
 
StringRef getRelocationTypeName (uint32_t Type) const
 
const Elf_ShdrgetRelSection (DataRefImpl Rel) const
 Get the relocation section that contains Rel. More...
 
DataRefImpl toDRI (const Elf_Shdr *SymTable, unsigned SymbolNum) const
 
const Elf_ShdrtoELFShdrIter (DataRefImpl Sec) const
 
DataRefImpl toDRI (const Elf_Shdr *Sec) const
 
DataRefImpl toDRI (const Elf_Dyn *Dyn) const
 
bool isExportedToOtherDSO (const Elf_Sym *ESym) const
 
- Protected Member Functions inherited from llvm::object::ELFObjectFileBase
 ELFObjectFileBase (unsigned int Type, MemoryBufferRef Source)
 
- Protected Member Functions inherited from llvm::object::ObjectFile
 ObjectFile (unsigned int Type, MemoryBufferRef Source)
 
const uint8_t * base () const
 
std::error_code printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
 
virtual bool isSectionBitcode (DataRefImpl Sec) const
 
uint64_t getSymbolValue (DataRefImpl Symb) const
 
- Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBufferRef Source)
 

Protected Attributes

ELFFile< ELFT > EF
 
const Elf_ShdrDotDynSymSec = nullptr
 
const Elf_ShdrDotSymtabSec = 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)
 

Detailed Description

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

Definition at line 190 of file ELFObjectFile.h.

Member Typedef Documentation

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

Definition at line 204 of file ELFObjectFile.h.

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

Definition at line 201 of file ELFObjectFile.h.

template<class ELFT>
typedef ELFFile<ELFT>::Elf_Rel llvm::object::ELFObjectFile< ELFT >::Elf_Rel

Definition at line 202 of file ELFObjectFile.h.

template<class ELFT>
typedef ELFFile<ELFT>::Elf_Rela llvm::object::ELFObjectFile< ELFT >::Elf_Rela

Definition at line 203 of file ELFObjectFile.h.

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

Definition at line 200 of file ELFObjectFile.h.

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

Definition at line 199 of file ELFObjectFile.h.

template<class ELFT>
typedef ELFFile<ELFT>::uintX_t llvm::object::ELFObjectFile< ELFT >::uintX_t

Definition at line 197 of file ELFObjectFile.h.

Constructor & Destructor Documentation

template<class ELFT >
llvm::object::ELFObjectFile< ELFT >::ELFObjectFile ( MemoryBufferRef  Object,
std::error_code &  EC 
)

Member Function Documentation

template<class ELFT>
static bool llvm::object::ELFObjectFile< ELFT >::classof ( const Binary v)
inlinestatic
template<class ELFT >
elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_begin ( ) const

Definition at line 861 of file ELFObjectFile.h.

template<class ELFT >
elf_symbol_iterator llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_end ( ) const

Definition at line 867 of file ELFObjectFile.h.

template<class ELFT >
unsigned llvm::object::ELFObjectFile< ELFT >::getArch ( ) const
overridevirtual
template<class ELFT >
uint8_t llvm::object::ELFObjectFile< ELFT >::getBytesInAddress ( ) const
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.

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getCommonSymbolSizeImpl ( DataRefImpl  Symb) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 479 of file ELFObjectFile.h.

References llvm::object::getSymbol().

template<class ELFT >
ELFObjectFileBase::elf_symbol_iterator_range llvm::object::ELFObjectFile< ELFT >::getDynamicSymbolIterators ( ) const
overridevirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 1037 of file ELFObjectFile.h.

References llvm::make_range().

template<class ELFT>
const ELFFile<ELFT>* llvm::object::ELFObjectFile< ELFT >::getELFFile ( ) const
inline

Definition at line 359 of file ELFObjectFile.h.

References llvm::object::ELFObjectFile< ELFT >::EF.

template<class ELFT >
StringRef llvm::object::ELFObjectFile< ELFT >::getFileFormatName ( ) const
overridevirtual
template<class ELFT>
std::error_code llvm::object::ELFObjectFile< ELFT >::getPlatformFlags ( unsigned Result) const
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.

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
overrideprotectedvirtual
template<class ELFT >
ErrorOr< int64_t > llvm::object::ELFObjectFile< ELFT >::getRelocationAddend ( DataRefImpl  Rel) const
overridevirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 775 of file ELFObjectFile.h.

References llvm::object::parse_failed, and llvm::ELF::SHT_RELA.

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getRelocationOffset ( DataRefImpl  Rel) const
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.

template<class ELFT >
symbol_iterator llvm::object::ELFObjectFile< ELFT >::getRelocationSymbol ( DataRefImpl  Rel) const
overrideprotectedvirtual
template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getRelocationType ( DataRefImpl  Rel) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 753 of file ELFObjectFile.h.

References fuzzer::EF, and llvm::ELF::SHT_REL.

template<class ELFT >
void llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 767 of file ELFObjectFile.h.

References fuzzer::EF.

template<class ELFT >
StringRef llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName ( uint32_t  Type) const
protected

Definition at line 762 of file ELFObjectFile.h.

References fuzzer::EF, and llvm::object::getELFRelocationTypeName().

template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::getRelSection ( DataRefImpl  Rel) const
inlineprotected

Get the relocation section that contains Rel.

Definition at line 257 of file ELFObjectFile.h.

References llvm::errorToErrorCode(), and llvm::report_fatal_error().

template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::getSection ( DataRefImpl  Sec) const
inline

Definition at line 335 of file ELFObjectFile.h.

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

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSectionAddress ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 615 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSectionAlignment ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 634 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
std::error_code llvm::object::ELFObjectFile< ELFT >::getSectionContents ( DataRefImpl  Sec,
StringRef Res 
) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 626 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSectionFlags ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 400 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
std::error_code llvm::object::ELFObjectFile< ELFT >::getSectionName ( DataRefImpl  Sec,
StringRef Res 
) const
overrideprotectedvirtual
template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSectionOffset ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 410 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSectionSize ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 620 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
uint32_t llvm::object::ELFObjectFile< ELFT >::getSectionType ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 405 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT>
const Elf_Sym* llvm::object::ELFObjectFile< ELFT >::getSymbol ( DataRefImpl  Sym) const
inline
template<class ELFT >
Expected< uint64_t > llvm::object::ELFObjectFile< ELFT >::getSymbolAddress ( DataRefImpl  Symb) const
overrideprotectedvirtual
template<class ELFT >
uint32_t llvm::object::ELFObjectFile< ELFT >::getSymbolAlignment ( DataRefImpl  Symb) const
overrideprotectedvirtual

Reimplemented from llvm::object::ObjectFile.

Definition at line 461 of file ELFObjectFile.h.

References llvm::object::getSymbol(), and llvm::ELF::SHN_COMMON.

template<class ELFT >
uint8_t llvm::object::ELFObjectFile< ELFT >::getSymbolELFType ( DataRefImpl  Symb) const
overrideprotectedvirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 489 of file ELFObjectFile.h.

References llvm::object::getSymbol().

template<class ELFT >
uint32_t llvm::object::ELFObjectFile< ELFT >::getSymbolFlags ( DataRefImpl  Symb) const
overrideprotectedvirtual
template<class ELFT >
Expected< StringRef > llvm::object::ELFObjectFile< ELFT >::getSymbolName ( DataRefImpl  Symb) const
overrideprotectedvirtual
template<class ELFT >
uint8_t llvm::object::ELFObjectFile< ELFT >::getSymbolOther ( DataRefImpl  Symb) const
overrideprotectedvirtual

Implements llvm::object::ELFObjectFileBase.

Definition at line 484 of file ELFObjectFile.h.

References llvm::object::getSymbol().

template<class ELFT >
Expected< section_iterator > llvm::object::ELFObjectFile< ELFT >::getSymbolSection ( const Elf_Sym Symb,
const Elf_Shdr SymTab 
) const
protected

Definition at line 572 of file ELFObjectFile.h.

References fuzzer::EF, and llvm::object::DataRefImpl::p.

template<class ELFT >
Expected< section_iterator > llvm::object::ELFObjectFile< ELFT >::getSymbolSection ( DataRefImpl  Symb) const
overrideprotectedvirtual
template<class ELFT >
Expected< SymbolRef::Type > llvm::object::ELFObjectFile< ELFT >::getSymbolType ( DataRefImpl  Symb) const
overrideprotectedvirtual
template<class ELFT >
uint64_t llvm::object::ELFObjectFile< ELFT >::getSymbolValueImpl ( DataRefImpl  Symb) const
overrideprotectedvirtual
template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isDyldType ( ) const
inline
template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isExportedToOtherDSO ( const Elf_Sym ESym) const
inlineprotected
template<class ELFT >
bool llvm::object::ELFObjectFile< ELFT >::isRelocatableObject ( ) const
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.

template<class ELFT >
bool llvm::object::ELFObjectFile< ELFT >::isSectionBSS ( DataRefImpl  Sec) const
overrideprotectedvirtual
template<class ELFT >
bool llvm::object::ELFObjectFile< ELFT >::isSectionCompressed ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 639 of file ELFObjectFile.h.

References llvm::object::getSection(), and llvm::ELF::SHF_COMPRESSED.

template<class ELFT >
bool llvm::object::ELFObjectFile< ELFT >::isSectionData ( DataRefImpl  Sec) const
overrideprotectedvirtual
template<class ELFT >
bool llvm::object::ELFObjectFile< ELFT >::isSectionText ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 644 of file ELFObjectFile.h.

References llvm::object::getSection(), and llvm::ELF::SHF_EXECINSTR.

template<class ELFT >
bool llvm::object::ELFObjectFile< ELFT >::isSectionVirtual ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 663 of file ELFObjectFile.h.

References llvm::object::getSection(), and llvm::ELF::SHT_NOBITS.

template<class ELFT >
void llvm::object::ELFObjectFile< ELFT >::moveRelocationNext ( DataRefImpl Rel) const
overrideprotectedvirtual
template<class ELFT >
void llvm::object::ELFObjectFile< ELFT >::moveSectionNext ( DataRefImpl Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 599 of file ELFObjectFile.h.

References llvm::object::getSection().

template<class ELFT >
void llvm::object::ELFObjectFile< ELFT >::moveSymbolNext ( DataRefImpl Symb) const
overrideprotectedvirtual
template<class ELFT >
section_iterator llvm::object::ELFObjectFile< ELFT >::section_begin ( ) const
overridevirtual

Implements llvm::object::ObjectFile.

Definition at line 874 of file ELFObjectFile.h.

References fuzzer::EF.

template<class ELFT >
section_iterator llvm::object::ELFObjectFile< ELFT >::section_end ( ) const
overridevirtual

Implements llvm::object::ObjectFile.

Definition at line 882 of file ELFObjectFile.h.

References fuzzer::EF.

template<class ELFT >
relocation_iterator llvm::object::ELFObjectFile< ELFT >::section_rel_begin ( DataRefImpl  Sec) const
overrideprotectedvirtual
template<class ELFT >
relocation_iterator llvm::object::ELFObjectFile< ELFT >::section_rel_end ( DataRefImpl  Sec) const
overrideprotectedvirtual
template<class ELFT >
basic_symbol_iterator llvm::object::ELFObjectFile< ELFT >::symbol_begin ( ) const
overridevirtual

Implements llvm::object::SymbolicFile.

Definition at line 846 of file ELFObjectFile.h.

template<class ELFT >
basic_symbol_iterator llvm::object::ELFObjectFile< ELFT >::symbol_end ( ) const
overridevirtual

Implements llvm::object::SymbolicFile.

Definition at line 852 of file ELFObjectFile.h.

template<class ELFT>
DataRefImpl llvm::object::ELFObjectFile< ELFT >::toDRI ( const Elf_Shdr SymTable,
unsigned  SymbolNum 
) const
inlineprotected
template<class ELFT>
DataRefImpl llvm::object::ELFObjectFile< ELFT >::toDRI ( const Elf_Shdr Sec) const
inlineprotected

Definition at line 293 of file ELFObjectFile.h.

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

template<class ELFT>
DataRefImpl llvm::object::ELFObjectFile< ELFT >::toDRI ( const Elf_Dyn Dyn) const
inlineprotected

Definition at line 299 of file ELFObjectFile.h.

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

template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::toELFShdrIter ( DataRefImpl  Sec) const
inlineprotected

Definition at line 289 of file ELFObjectFile.h.

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

Member Data Documentation

template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::DotDynSymSec = nullptr
protected

Definition at line 209 of file ELFObjectFile.h.

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

template<class ELFT>
const Elf_Shdr* llvm::object::ELFObjectFile< ELFT >::DotSymtabSec = nullptr
protected

Definition at line 210 of file ELFObjectFile.h.

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

template<class ELFT>
ELFFile<ELFT> llvm::object::ELFObjectFile< ELFT >::EF
protected
template<class ELFT>
bool llvm::object::ELFObjectFile< ELFT >::isDyldELFObject
protected

Definition at line 320 of file ELFObjectFile.h.

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

template<class ELFT>
ArrayRef<Elf_Word> llvm::object::ELFObjectFile< ELFT >::ShndxTable
protected

Definition at line 211 of file ELFObjectFile.h.

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


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