LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
llvm::RuntimeDyldImpl Class Referenceabstract

#include "ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h"

Inheritance diagram for llvm::RuntimeDyldImpl:
Inheritance graph
[legend]

Public Member Functions

 RuntimeDyldImpl (RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)
 
virtual ~RuntimeDyldImpl ()
 
void setProcessAllSections (bool ProcessAllSections)
 
virtual std::unique_ptr< RuntimeDyld::LoadedObjectInfoloadObject (const object::ObjectFile &Obj)=0
 
uint64_t getSectionLoadAddress (unsigned SectionID) const
 
uint8_tgetSectionAddress (unsigned SectionID) const
 
StringRef getSectionContent (unsigned SectionID) const
 
uint8_tgetSymbolLocalAddress (StringRef Name) const
 
unsigned getSymbolSectionID (StringRef Name) const
 
JITEvaluatedSymbol getSymbol (StringRef Name) const
 
std::map< StringRef, JITEvaluatedSymbolgetSymbolTable () const
 
void resolveRelocations ()
 
void resolveLocalRelocations ()
 
void reassignSectionAddress (unsigned SectionID, uint64_t Addr)
 
void mapSectionAddress (const void *LocalAddress, uint64_t TargetAddress)
 
bool hasError ()
 
void clearError ()
 
StringRef getErrorString ()
 
virtual bool isCompatibleFile (const ObjectFile &Obj) const =0
 
void setNotifyStubEmitted (NotifyStubEmittedFunction NotifyStubEmitted)
 
virtual void registerEHFrames ()
 
void deregisterEHFrames ()
 
virtual Error finalizeLoad (const ObjectFile &ObjImg, ObjSectionToIDMap &SectionMap)
 

Static Public Member Functions

static void finalizeAsync (std::unique_ptr< RuntimeDyldImpl > This, unique_function< void(object::OwningBinary< object::ObjectFile >, std::unique_ptr< RuntimeDyld::LoadedObjectInfo >, Error)> OnEmitted, object::OwningBinary< object::ObjectFile > O, std::unique_ptr< RuntimeDyld::LoadedObjectInfo > Info)
 

Protected Types

typedef std::deque< SectionEntrySectionList
 
typedef unsigned SID
 
typedef std::map< SectionRef, unsignedObjSectionToIDMap
 
typedef std::vector< SymbolRefCommonSymbolList
 
typedef SmallVector< RelocationEntry, 64 > RelocationList
 
typedef std::map< RelocationValueRef, uintptr_t > StubMap
 
using NotifyStubEmittedFunction = RuntimeDyld::NotifyStubEmittedFunction
 

Protected Member Functions

virtual unsigned getMaxStubSize () const =0
 
virtual Align getStubAlignment ()=0
 
void writeInt16BE (uint8_t *Addr, uint16_t Value)
 
void writeInt32BE (uint8_t *Addr, uint32_t Value)
 
void writeInt64BE (uint8_t *Addr, uint64_t Value)
 
virtual void setMipsABI (const ObjectFile &Obj)
 
uint64_t readBytesUnaligned (uint8_t *Src, unsigned Size) const
 Endian-aware read Read the least significant Size bytes from Src.
 
void writeBytesUnaligned (uint64_t Value, uint8_t *Dst, unsigned Size) const
 Endian-aware write.
 
virtual Expected< JITSymbolFlagsgetJITSymbolFlags (const SymbolRef &Sym)
 Generate JITSymbolFlags from a libObject symbol.
 
virtual uint64_t modifyAddressBasedOnFlags (uint64_t Addr, JITSymbolFlags Flags) const
 Modify the given target address based on the given symbol flags.
 
Error emitCommonSymbols (const ObjectFile &Obj, CommonSymbolList &CommonSymbols, uint64_t CommonSize, uint32_t CommonAlign)
 Given the common symbols discovered in the object file, emit a new section for them and update the symbol mappings in the object and symbol table.
 
Expected< unsignedemitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode)
 Emits section data from the object file to the MemoryManager.
 
Expected< unsignedfindOrEmitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode, ObjSectionToIDMap &LocalSections)
 Find Section in LocalSections.
 
void addRelocationForSection (const RelocationEntry &RE, unsigned SectionID)
 
void addRelocationForSymbol (const RelocationEntry &RE, StringRef SymbolName)
 
uint8_tcreateStubFunction (uint8_t *Addr, unsigned AbiVariant=0)
 Emits long jump instruction to Addr.
 
void resolveRelocationList (const RelocationList &Relocs, uint64_t Value)
 Resolves relocations from Relocs list with address from Value.
 
virtual void resolveRelocation (const RelocationEntry &RE, uint64_t Value)=0
 A object file specific relocation resolver.
 
virtual Expected< relocation_iteratorprocessRelocationRef (unsigned SectionID, relocation_iterator RelI, const ObjectFile &Obj, ObjSectionToIDMap &ObjSectionToID, StubMap &Stubs)=0
 Parses one or more object file relocations (some object files use relocation pairs) and stores it to Relocations or SymbolRelocations (this depends on the object file type).
 
void applyExternalSymbolRelocations (const StringMap< JITEvaluatedSymbol > ExternalSymbolMap)
 
Error resolveExternalSymbols ()
 Resolve relocations to external symbols.
 
Error computeTotalAllocSize (const ObjectFile &Obj, uint64_t &CodeSize, Align &CodeAlign, uint64_t &RODataSize, Align &RODataAlign, uint64_t &RWDataSize, Align &RWDataAlign)
 
unsigned computeGOTSize (const ObjectFile &Obj)
 
unsigned computeSectionStubBufSize (const ObjectFile &Obj, const SectionRef &Section)
 
Expected< ObjSectionToIDMaploadObjectImpl (const object::ObjectFile &Obj)
 
virtual size_t getGOTEntrySize ()
 
virtual void processNewSymbol (const SymbolRef &ObjSymbol, SymbolTableEntry &Entry)
 
virtual bool relocationNeedsGot (const RelocationRef &R) const
 
virtual bool relocationNeedsStub (const RelocationRef &R) const
 
virtual bool relocationNeedsDLLImportStub (const RelocationRef &R) const
 
virtual unsigned sizeAfterAddingDLLImportStub (unsigned Size) const
 

Protected Attributes

RuntimeDyld::MemoryManagerMemMgr
 
JITSymbolResolverResolver
 
SectionList Sections
 
RTDyldSymbolTable GlobalSymbolTable
 
std::unordered_map< unsigned, RelocationListRelocations
 
StringMap< RelocationListExternalSymbolRelocations
 
Triple::ArchType Arch
 
bool IsTargetLittleEndian
 
bool IsMipsO32ABI
 
bool IsMipsN32ABI
 
bool IsMipsN64ABI
 
bool ProcessAllSections
 
sys::Mutex lock
 
NotifyStubEmittedFunction NotifyStubEmitted
 
bool HasError
 
std::string ErrorStr
 

Static Protected Attributes

static const unsigned AbsoluteSymbolSection = ~0U
 

Friends

class RuntimeDyld::LoadedObjectInfo
 

Detailed Description

Definition at line 239 of file RuntimeDyldImpl.h.

Member Typedef Documentation

◆ CommonSymbolList

typedef std::vector<SymbolRef> llvm::RuntimeDyldImpl::CommonSymbolList
protected

Definition at line 268 of file RuntimeDyldImpl.h.

◆ NotifyStubEmittedFunction

Definition at line 311 of file RuntimeDyldImpl.h.

◆ ObjSectionToIDMap

Definition at line 262 of file RuntimeDyldImpl.h.

◆ RelocationList

Definition at line 275 of file RuntimeDyldImpl.h.

◆ SectionList

typedef std::deque<SectionEntry> llvm::RuntimeDyldImpl::SectionList
protected

Definition at line 254 of file RuntimeDyldImpl.h.

◆ SID

Definition at line 257 of file RuntimeDyldImpl.h.

◆ StubMap

typedef std::map<RelocationValueRef, uintptr_t> llvm::RuntimeDyldImpl::StubMap
protected

Definition at line 287 of file RuntimeDyldImpl.h.

Constructor & Destructor Documentation

◆ RuntimeDyldImpl()

llvm::RuntimeDyldImpl::RuntimeDyldImpl ( RuntimeDyld::MemoryManager MemMgr,
JITSymbolResolver Resolver 
)
inline

Definition at line 470 of file RuntimeDyldImpl.h.

◆ ~RuntimeDyldImpl()

RuntimeDyldImpl::~RuntimeDyldImpl ( )
virtualdefault

Member Function Documentation

◆ addRelocationForSection()

void llvm::RuntimeDyldImpl::addRelocationForSection ( const RelocationEntry RE,
unsigned  SectionID 
)
protected

◆ addRelocationForSymbol()

void llvm::RuntimeDyldImpl::addRelocationForSymbol ( const RelocationEntry RE,
StringRef  SymbolName 
)
protected

◆ applyExternalSymbolRelocations()

void llvm::RuntimeDyldImpl::applyExternalSymbolRelocations ( const StringMap< JITEvaluatedSymbol ExternalSymbolMap)
protected

◆ clearError()

void llvm::RuntimeDyldImpl::clearError ( )
inline

Definition at line 582 of file RuntimeDyldImpl.h.

References HasError.

◆ computeGOTSize()

unsigned llvm::RuntimeDyldImpl::computeGOTSize ( const ObjectFile Obj)
protected

◆ computeSectionStubBufSize()

unsigned llvm::RuntimeDyldImpl::computeSectionStubBufSize ( const ObjectFile Obj,
const SectionRef Section 
)
protected

◆ computeTotalAllocSize()

Error llvm::RuntimeDyldImpl::computeTotalAllocSize ( const ObjectFile Obj,
uint64_t CodeSize,
Align CodeAlign,
uint64_t RODataSize,
Align RODataAlign,
uint64_t RWDataSize,
Align RWDataAlign 
)
protected

◆ createStubFunction()

uint8_t * llvm::RuntimeDyldImpl::createStubFunction ( uint8_t Addr,
unsigned  AbiVariant = 0 
)
protected

◆ deregisterEHFrames()

void llvm::RuntimeDyldImpl::deregisterEHFrames ( )

Definition at line 76 of file RuntimeDyld.cpp.

◆ emitCommonSymbols()

Error llvm::RuntimeDyldImpl::emitCommonSymbols ( const ObjectFile Obj,
CommonSymbolList CommonSymbols,
uint64_t  CommonSize,
uint32_t  CommonAlign 
)
protected

Given the common symbols discovered in the object file, emit a new section for them and update the symbol mappings in the object and symbol table.

Definition at line 748 of file RuntimeDyld.cpp.

References Addr, llvm::dbgs(), llvm::format(), LLVM_DEBUG, Name, llvm::Offset, llvm::offsetToAlignment(), llvm::report_fatal_error(), Size, llvm::Error::success(), and Sym.

◆ emitSection()

Expected< unsigned > llvm::RuntimeDyldImpl::emitSection ( const ObjectFile Obj,
const SectionRef Section,
bool  IsCode 
)
protected

Emits section data from the object file to the MemoryManager.

Parameters
IsCodeif it's true then allocateCodeSection() will be used for emits, else allocateDataSection() will be used.
Returns
SectionID.

Definition at line 804 of file RuntimeDyld.cpp.

References Addr, llvm::StringRef::data(), llvm::dbgs(), E, llvm::format(), llvm::isReadOnlyData(), llvm::isRequiredForExecution(), llvm::isTLS(), llvm::isZeroInit(), LLVM_DEBUG, Name, llvm::report_fatal_error(), llvm::Expected< T >::takeError(), and llvm::Align::value().

◆ finalizeAsync()

void llvm::RuntimeDyldImpl::finalizeAsync ( std::unique_ptr< RuntimeDyldImpl This,
unique_function< void(object::OwningBinary< object::ObjectFile >, std::unique_ptr< RuntimeDyld::LoadedObjectInfo >, Error)>  OnEmitted,
object::OwningBinary< object::ObjectFile O,
std::unique_ptr< RuntimeDyld::LoadedObjectInfo Info 
)
static

Copy the result into a StringMap, where the keys are held by value.

Definition at line 1231 of file RuntimeDyld.cpp.

References assert(), llvm::inconvertibleErrorCode(), Info, Name, and llvm::Error::success().

Referenced by llvm::jitLinkForORC().

◆ finalizeLoad()

virtual Error llvm::RuntimeDyldImpl::finalizeLoad ( const ObjectFile ObjImg,
ObjSectionToIDMap SectionMap 
)
inlinevirtual

◆ findOrEmitSection()

Expected< unsigned > llvm::RuntimeDyldImpl::findOrEmitSection ( const ObjectFile Obj,
const SectionRef Section,
bool  IsCode,
ObjSectionToIDMap LocalSections 
)
protected

Find Section in LocalSections.

If the secton is not found - emit it and store in LocalSections.

Parameters
IsCodeif it's true then allocateCodeSection() will be used for emmits, else allocateDataSection() will be used.
Returns
SectionID.

Definition at line 930 of file RuntimeDyld.cpp.

Referenced by llvm::RuntimeDyldMachO::getRelocationValueRef(), llvm::RuntimeDyldCOFFAArch64::processRelocationRef(), llvm::RuntimeDyldCOFFI386::processRelocationRef(), llvm::RuntimeDyldCOFFThumb::processRelocationRef(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), and llvm::RuntimeDyldMachO::processScatteredVANILLA().

◆ getErrorString()

StringRef llvm::RuntimeDyldImpl::getErrorString ( )
inline

Definition at line 585 of file RuntimeDyldImpl.h.

References ErrorStr.

◆ getGOTEntrySize()

virtual size_t llvm::RuntimeDyldImpl::getGOTEntrySize ( )
inlineprotectedvirtual

Reimplemented in llvm::RuntimeDyldELF.

Definition at line 443 of file RuntimeDyldImpl.h.

◆ getJITSymbolFlags()

Expected< JITSymbolFlags > llvm::RuntimeDyldImpl::getJITSymbolFlags ( const SymbolRef Sym)
protectedvirtual

◆ getMaxStubSize()

virtual unsigned llvm::RuntimeDyldImpl::getMaxStubSize ( ) const
protectedpure virtual

◆ getSectionAddress()

uint8_t * llvm::RuntimeDyldImpl::getSectionAddress ( unsigned  SectionID) const
inline

Definition at line 492 of file RuntimeDyldImpl.h.

References AbsoluteSymbolSection, and Sections.

Referenced by getSymbolLocalAddress().

◆ getSectionContent()

StringRef llvm::RuntimeDyldImpl::getSectionContent ( unsigned  SectionID) const
inline

Definition at line 499 of file RuntimeDyldImpl.h.

References AbsoluteSymbolSection, getAddress(), getMaxStubSize(), and Sections.

◆ getSectionLoadAddress()

uint64_t llvm::RuntimeDyldImpl::getSectionLoadAddress ( unsigned  SectionID) const
inline

Definition at line 485 of file RuntimeDyldImpl.h.

References AbsoluteSymbolSection, and Sections.

Referenced by getSymbol(), and getSymbolTable().

◆ getStubAlignment()

virtual Align llvm::RuntimeDyldImpl::getStubAlignment ( )
protectedpure virtual

◆ getSymbol()

JITEvaluatedSymbol llvm::RuntimeDyldImpl::getSymbol ( StringRef  Name) const
inline

◆ getSymbolLocalAddress()

uint8_t * llvm::RuntimeDyldImpl::getSymbolLocalAddress ( StringRef  Name) const
inline

◆ getSymbolSectionID()

unsigned llvm::RuntimeDyldImpl::getSymbolSectionID ( StringRef  Name) const
inline

◆ getSymbolTable()

std::map< StringRef, JITEvaluatedSymbol > llvm::RuntimeDyldImpl::getSymbolTable ( ) const
inline

Definition at line 548 of file RuntimeDyldImpl.h.

References getSectionLoadAddress(), and GlobalSymbolTable.

◆ hasError()

bool llvm::RuntimeDyldImpl::hasError ( )
inline

Definition at line 579 of file RuntimeDyldImpl.h.

References HasError.

◆ isCompatibleFile()

virtual bool llvm::RuntimeDyldImpl::isCompatibleFile ( const ObjectFile Obj) const
pure virtual

◆ loadObject()

virtual std::unique_ptr< RuntimeDyld::LoadedObjectInfo > llvm::RuntimeDyldImpl::loadObject ( const object::ObjectFile Obj)
pure virtual

◆ loadObjectImpl()

Expected< RuntimeDyldImpl::ObjSectionToIDMap > llvm::RuntimeDyldImpl::loadObjectImpl ( const object::ObjectFile Obj)
protected

◆ mapSectionAddress()

void llvm::RuntimeDyldImpl::mapSectionAddress ( const void *  LocalAddress,
uint64_t  TargetAddress 
)

Definition at line 160 of file RuntimeDyld.cpp.

References getAddress(), and llvm_unreachable.

◆ modifyAddressBasedOnFlags()

virtual uint64_t llvm::RuntimeDyldImpl::modifyAddressBasedOnFlags ( uint64_t  Addr,
JITSymbolFlags  Flags 
) const
inlineprotectedvirtual

Modify the given target address based on the given symbol flags.

This can be used by subclasses to tweak addresses based on symbol flags, For example: the MachO/ARM target uses it to set the low bit if the target is a thumb symbol.

Reimplemented in llvm::RuntimeDyldMachOARM.

Definition at line 362 of file RuntimeDyldImpl.h.

References Addr.

Referenced by getSymbol().

◆ processNewSymbol()

virtual void llvm::RuntimeDyldImpl::processNewSymbol ( const SymbolRef ObjSymbol,
SymbolTableEntry Entry 
)
inlineprotectedvirtual

Definition at line 447 of file RuntimeDyldImpl.h.

◆ processRelocationRef()

virtual Expected< relocation_iterator > llvm::RuntimeDyldImpl::processRelocationRef ( unsigned  SectionID,
relocation_iterator  RelI,
const ObjectFile Obj,
ObjSectionToIDMap ObjSectionToID,
StubMap Stubs 
)
protectedpure virtual

Parses one or more object file relocations (some object files use relocation pairs) and stores it to Relocations or SymbolRelocations (this depends on the object file type).

Returns
Iterator to the next relocation that needs to be parsed.

Implemented in llvm::RuntimeDyldCOFFAArch64, llvm::RuntimeDyldCOFFI386, llvm::RuntimeDyldCOFFThumb, llvm::RuntimeDyldCOFFX86_64, llvm::RuntimeDyldMachOAArch64, llvm::RuntimeDyldMachOARM, llvm::RuntimeDyldMachOI386, llvm::RuntimeDyldMachOX86_64, and llvm::RuntimeDyldELF.

◆ readBytesUnaligned()

uint64_t llvm::RuntimeDyldImpl::readBytesUnaligned ( uint8_t Src,
unsigned  Size 
) const
protected

◆ reassignSectionAddress()

void llvm::RuntimeDyldImpl::reassignSectionAddress ( unsigned  SectionID,
uint64_t  Addr 
)

Definition at line 1093 of file RuntimeDyld.cpp.

References Addr, llvm::dbgs(), llvm::format(), getName(), and LLVM_DEBUG.

◆ registerEHFrames()

void llvm::RuntimeDyldImpl::registerEHFrames ( )
virtual

◆ relocationNeedsDLLImportStub()

virtual bool llvm::RuntimeDyldImpl::relocationNeedsDLLImportStub ( const RelocationRef R) const
inlineprotectedvirtual

Reimplemented in llvm::RuntimeDyldCOFF.

Definition at line 460 of file RuntimeDyldImpl.h.

◆ relocationNeedsGot()

virtual bool llvm::RuntimeDyldImpl::relocationNeedsGot ( const RelocationRef R) const
inlineprotectedvirtual

Definition at line 450 of file RuntimeDyldImpl.h.

◆ relocationNeedsStub()

virtual bool llvm::RuntimeDyldImpl::relocationNeedsStub ( const RelocationRef R) const
inlineprotectedvirtual

Definition at line 455 of file RuntimeDyldImpl.h.

◆ resolveExternalSymbols()

Error llvm::RuntimeDyldImpl::resolveExternalSymbols ( )
protected

Resolve relocations to external symbols.

Definition at line 1175 of file RuntimeDyld.cpp.

References assert(), llvm::StringMap< ValueTy, AllocatorTy >::insert(), Name, and llvm::Error::success().

◆ resolveLocalRelocations()

void llvm::RuntimeDyldImpl::resolveLocalRelocations ( )

Definition at line 145 of file RuntimeDyld.cpp.

References Addr, llvm::dbgs(), llvm::format(), Idx, and LLVM_DEBUG.

◆ resolveRelocation()

virtual void llvm::RuntimeDyldImpl::resolveRelocation ( const RelocationEntry RE,
uint64_t  Value 
)
protectedpure virtual

◆ resolveRelocationList()

void llvm::RuntimeDyldImpl::resolveRelocationList ( const RelocationList Relocs,
uint64_t  Value 
)
protected

Resolves relocations from Relocs list with address from Value.

Definition at line 1113 of file RuntimeDyld.cpp.

References llvm::object::resolveRelocation().

◆ resolveRelocations()

void llvm::RuntimeDyldImpl::resolveRelocations ( )

Definition at line 121 of file RuntimeDyld.cpp.

References llvm::dumpSectionMemory(), LLVM_DEBUG, and llvm::toString().

◆ setMipsABI()

virtual void llvm::RuntimeDyldImpl::setMipsABI ( const ObjectFile Obj)
inlineprotectedvirtual

Definition at line 342 of file RuntimeDyldImpl.h.

References IsMipsN32ABI, IsMipsN64ABI, and IsMipsO32ABI.

◆ setNotifyStubEmitted()

void llvm::RuntimeDyldImpl::setNotifyStubEmitted ( NotifyStubEmittedFunction  NotifyStubEmitted)
inline

Definition at line 589 of file RuntimeDyldImpl.h.

References NotifyStubEmitted.

◆ setProcessAllSections()

void llvm::RuntimeDyldImpl::setProcessAllSections ( bool  ProcessAllSections)
inline

Definition at line 478 of file RuntimeDyldImpl.h.

References ProcessAllSections.

◆ sizeAfterAddingDLLImportStub()

virtual unsigned llvm::RuntimeDyldImpl::sizeAfterAddingDLLImportStub ( unsigned  Size) const
inlineprotectedvirtual

Reimplemented in llvm::RuntimeDyldCOFF.

Definition at line 465 of file RuntimeDyldImpl.h.

References Size.

◆ writeBytesUnaligned()

void llvm::RuntimeDyldImpl::writeBytesUnaligned ( uint64_t  Value,
uint8_t Dst,
unsigned  Size 
) const
protected

◆ writeInt16BE()

void llvm::RuntimeDyldImpl::writeInt16BE ( uint8_t Addr,
uint16_t  Value 
)
inlineprotected

Definition at line 321 of file RuntimeDyldImpl.h.

References Addr, llvm::big, IsTargetLittleEndian, and llvm::little.

◆ writeInt32BE()

void llvm::RuntimeDyldImpl::writeInt32BE ( uint8_t Addr,
uint32_t  Value 
)
inlineprotected

◆ writeInt64BE()

void llvm::RuntimeDyldImpl::writeInt64BE ( uint8_t Addr,
uint64_t  Value 
)
inlineprotected

Definition at line 335 of file RuntimeDyldImpl.h.

References Addr, llvm::big, IsTargetLittleEndian, and llvm::little.

Friends And Related Function Documentation

◆ RuntimeDyld::LoadedObjectInfo

friend class RuntimeDyld::LoadedObjectInfo
friend

Definition at line 240 of file RuntimeDyldImpl.h.

Member Data Documentation

◆ AbsoluteSymbolSection

const unsigned llvm::RuntimeDyldImpl::AbsoluteSymbolSection = ~0U
staticprotected

◆ Arch

Triple::ArchType llvm::RuntimeDyldImpl::Arch
protected

◆ ErrorStr

std::string llvm::RuntimeDyldImpl::ErrorStr
protected

◆ ExternalSymbolRelocations

StringMap<RelocationList> llvm::RuntimeDyldImpl::ExternalSymbolRelocations
protected

Definition at line 284 of file RuntimeDyldImpl.h.

◆ GlobalSymbolTable

RTDyldSymbolTable llvm::RuntimeDyldImpl::GlobalSymbolTable
protected

◆ HasError

bool llvm::RuntimeDyldImpl::HasError
protected

◆ IsMipsN32ABI

bool llvm::RuntimeDyldImpl::IsMipsN32ABI
protected

◆ IsMipsN64ABI

bool llvm::RuntimeDyldImpl::IsMipsN64ABI
protected

◆ IsMipsO32ABI

bool llvm::RuntimeDyldImpl::IsMipsO32ABI
protected

◆ IsTargetLittleEndian

bool llvm::RuntimeDyldImpl::IsTargetLittleEndian
protected

◆ lock

sys::Mutex llvm::RuntimeDyldImpl::lock
protected

Definition at line 309 of file RuntimeDyldImpl.h.

◆ MemMgr

RuntimeDyld::MemoryManager& llvm::RuntimeDyldImpl::MemMgr
protected

◆ NotifyStubEmitted

NotifyStubEmittedFunction llvm::RuntimeDyldImpl::NotifyStubEmitted
protected

Definition at line 313 of file RuntimeDyldImpl.h.

Referenced by setNotifyStubEmitted().

◆ ProcessAllSections

bool llvm::RuntimeDyldImpl::ProcessAllSections
protected

Definition at line 297 of file RuntimeDyldImpl.h.

Referenced by setProcessAllSections().

◆ Relocations

std::unordered_map<unsigned, RelocationList> llvm::RuntimeDyldImpl::Relocations
protected

Definition at line 279 of file RuntimeDyldImpl.h.

◆ Resolver

JITSymbolResolver& llvm::RuntimeDyldImpl::Resolver
protected

Definition at line 248 of file RuntimeDyldImpl.h.

◆ Sections

SectionList llvm::RuntimeDyldImpl::Sections
protected

Definition at line 255 of file RuntimeDyldImpl.h.

Referenced by llvm::RuntimeDyldMachOAArch64::decodeAddend(), llvm::RuntimeDyldMachOARM::decodeAddend(), llvm::RuntimeDyldMachO::dumpRelocationToResolve(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::RuntimeDyldCOFFAArch64::generateRelocationStub(), llvm::RuntimeDyldCOFFX86_64::generateRelocationStub(), llvm::RuntimeDyldCOFF::getDLLImportOffset(), llvm::RuntimeDyldMachO::getSection(), getSectionAddress(), getSectionContent(), getSectionLoadAddress(), llvm::RuntimeDyldMachOARM::isAddrTargetThumb(), llvm::RuntimeDyldMachO::memcpyAddend(), llvm::RuntimeDyldMachO::populateIndirectSymbolPointersSection(), llvm::RuntimeDyldCOFFAArch64::processRelocationRef(), llvm::RuntimeDyldCOFFI386::processRelocationRef(), llvm::RuntimeDyldCOFFThumb::processRelocationRef(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), llvm::RuntimeDyldMachO::processScatteredVANILLA(), llvm::RuntimeDyldELF::registerEHFrames(), llvm::RuntimeDyldCOFFX86_64::registerEHFrames(), llvm::RuntimeDyldELF::resolveRelocation(), llvm::RuntimeDyldCOFFAArch64::resolveRelocation(), llvm::RuntimeDyldCOFFI386::resolveRelocation(), llvm::RuntimeDyldCOFFThumb::resolveRelocation(), llvm::RuntimeDyldCOFFX86_64::resolveRelocation(), llvm::RuntimeDyldELFMips::resolveRelocation(), llvm::RuntimeDyldMachOAArch64::resolveRelocation(), llvm::RuntimeDyldMachOARM::resolveRelocation(), llvm::RuntimeDyldMachOI386::resolveRelocation(), and llvm::RuntimeDyldMachOX86_64::resolveRelocation().


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