class RuntimeDyldMachOCRTPBase
Declaration
template <typename Impl>
class RuntimeDyldMachOCRTPBase : public RuntimeDyldMachO { /* full declaration omitted */ };
Description
RuntimeDyldMachOTarget - Templated base class for generic MachO linker algorithms and data structures. Concrete, target specific sub-classes can be accessed via the impl() methods. (i.e. the RuntimeDyldMachO hierarchy uses the Curiously Recurring Template Idiom). Concrete subclasses for each target can be found in ./Targets.
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:145
Inherits from: RuntimeDyldMachO
Templates
- Impl
Member Variables
Inherited from RuntimeDyldMachO:
Inherited from RuntimeDyldImpl:
- protected MemMgr
- protected Resolver
- protected Sections
- protected GlobalSymbolTable
- protected Relocations
- protected ExternalSymbolRelocations
- protected Arch
- protected IsTargetLittleEndian
- protected IsMipsO32ABI
- protected IsMipsN32ABI
- protected IsMipsN64ABI
- protected ProcessAllSections
- protected lock
- protected NotifyStubEmitted
- protected HasError
- protected ErrorStr
- protected static AbsoluteSymbolSection = ~0U
Method Overview
- public RuntimeDyldMachOCRTPBase<Impl>(RuntimeDyld::MemoryManager & MemMgr, llvm::JITSymbolResolver & Resolver)
- public llvm::Error finalizeLoad(const llvm::object::ObjectFile & Obj, llvm::RuntimeDyldImpl::ObjSectionToIDMap & SectionMap)
- private Impl & impl()
- private const Impl & impl() const
- private unsigned char * processFDE(uint8_t * P, int64_t DeltaForText, int64_t DeltaForEH)
- public void registerEHFrames()
Inherited from RuntimeDyldMachO:
- public create
- protected dumpRelocationToResolve
- protected getRelocationEntry
- protected getRelocationValueRef
- public getSection
- protected getSectionByAddress
- public isCompatibleFile
- public loadObject
- protected makeValueAddendPCRel
- protected memcpyAddend
- protected populateIndirectSymbolPointersSection
- protected processScatteredVANILLA
Inherited from RuntimeDyldImpl:
- protected addRelocationForSection
- protected addRelocationForSymbol
- protected applyExternalSymbolRelocations
- public clearError
- protected computeGOTSize
- protected computeSectionStubBufSize
- protected computeTotalAllocSize
- protected createStubFunction
- public deregisterEHFrames
- protected emitCommonSymbols
- protected emitSection
- public finalizeAsync
- public finalizeLoad
- protected findOrEmitSection
- public getErrorString
- protected getGOTEntrySize
- protected getJITSymbolFlags
- protected getMaxStubSize
- public getSectionAddress
- public getSectionContent
- public getSectionLoadAddress
- protected getStubAlignment
- public getSymbol
- public getSymbolLocalAddress
- public getSymbolSectionID
- public getSymbolTable
- public hasError
- public isCompatibleFile
- public loadObject
- protected loadObjectImpl
- public mapSectionAddress
- protected modifyAddressBasedOnFlags
- protected processRelocationRef
- protected readBytesUnaligned
- public reassignSectionAddress
- public registerEHFrames
- protected relocationNeedsGot
- protected relocationNeedsStub
- protected resolveExternalSymbols
- public resolveLocalRelocations
- protected resolveRelocation
- protected resolveRelocationList
- public resolveRelocations
- protected setMipsABI
- public setNotifyStubEmitted
- public setProcessAllSections
- protected writeBytesUnaligned
- protected writeInt16BE
- protected writeInt32BE
- protected writeInt64BE
Methods
¶RuntimeDyldMachOCRTPBase<Impl>(
RuntimeDyld::MemoryManager& MemMgr,
llvm::JITSymbolResolver& Resolver)
RuntimeDyldMachOCRTPBase<Impl>(
RuntimeDyld::MemoryManager& MemMgr,
llvm::JITSymbolResolver& Resolver)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:154
Parameters
- RuntimeDyld::MemoryManager& MemMgr
- llvm::JITSymbolResolver& Resolver
¶llvm::Error finalizeLoad(
const llvm::object::ObjectFile& Obj,
llvm::RuntimeDyldImpl::ObjSectionToIDMap&
SectionMap)
llvm::Error finalizeLoad(
const llvm::object::ObjectFile& Obj,
llvm::RuntimeDyldImpl::ObjSectionToIDMap&
SectionMap)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:158
Parameters
- const llvm::object::ObjectFile& Obj
- llvm::RuntimeDyldImpl::ObjSectionToIDMap& SectionMap
¶Impl& impl()
Impl& impl()
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:147
¶const Impl& impl() const
const Impl& impl() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:148
¶unsigned char* processFDE(uint8_t* P,
int64_t DeltaForText,
int64_t DeltaForEH)
unsigned char* processFDE(uint8_t* P,
int64_t DeltaForText,
int64_t DeltaForEH)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:150
Parameters
- uint8_t* P
- int64_t DeltaForText
- int64_t DeltaForEH
¶void registerEHFrames()
void registerEHFrames()
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h:160