| Static Public Member Functions inherited from llvm::RuntimeDyldMachO |
|
| static std::unique_ptr< RuntimeDyldMachO > |
create (Triple::ArchType Arch, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) |
|
Create a RuntimeDyldMachO instance for the given target architecture. |
| Static Public Member Functions inherited from llvm::RuntimeDyldImpl |
|
| 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 inherited from llvm::RuntimeDyldImpl |
|
| typedef std::deque< SectionEntry > |
SectionList |
| typedef unsigned |
SID |
| typedef std::map< SectionRef, unsigned > |
ObjSectionToIDMap |
| typedef std::vector< SymbolRef > |
CommonSymbolList |
| typedef SmallVector< RelocationEntry, 64 > |
RelocationList |
| typedef std::map< RelocationValueRef, uintptr_t > |
StubMap |
| using |
NotifyStubEmittedFunction |
| Protected Member Functions inherited from llvm::RuntimeDyldMachO |
|
|
RuntimeDyldMachO (RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) |
| int64_t |
memcpyAddend (const RelocationEntry &RE) const |
|
This convenience method uses memcpy to extract a contiguous addend (the addend size and offset are taken from the corresponding fields of the RE). |
| RelocationEntry |
getRelocationEntry (unsigned SectionID, const ObjectFile &BaseTObj, const relocation_iterator &RI) const |
|
Given a relocation_iterator for a non-scattered relocation, construct a RelocationEntry and fill in the common fields. |
| Expected< relocation_iterator > |
processScatteredVANILLA (unsigned SectionID, relocation_iterator RelI, const ObjectFile &BaseObjT, RuntimeDyldMachO::ObjSectionToIDMap &ObjSectionToID, bool TargetIsLocalThumbFunc=false) |
|
Process a scattered vanilla relocation. |
| Expected< RelocationValueRef > |
getRelocationValueRef (const ObjectFile &BaseTObj, const relocation_iterator &RI, const RelocationEntry &RE, ObjSectionToIDMap &ObjSectionToID) |
|
Construct a RelocationValueRef representing the relocation target. |
| void |
makeValueAddendPCRel (RelocationValueRef &Value, const relocation_iterator &RI, unsigned OffsetToNextPC) |
|
Make the RelocationValueRef addend PC-relative. |
| void |
dumpRelocationToResolve (const RelocationEntry &RE, uint64_t Value) const |
|
Dump information about the relocation entry (RE) and resolved value. |
| Error |
populateIndirectSymbolPointersSection (const MachOObjectFile &Obj, const SectionRef &PTSection, unsigned PTSectionID) |
| Protected Member Functions inherited from llvm::RuntimeDyldImpl |
|
| 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< JITSymbolFlags > |
getJITSymbolFlags (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< unsigned > |
emitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode) |
|
Emits section data from the object file to the MemoryManager. |
| Expected< unsigned > |
findOrEmitSection (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_t * |
createStubFunction (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. |
| 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< ObjSectionToIDMap > |
loadObjectImpl (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 |
| Static Protected Member Functions inherited from llvm::RuntimeDyldMachO |
|
| static section_iterator |
getSectionByAddress (const MachOObjectFile &Obj, uint64_t Addr) |
| Protected Attributes inherited from llvm::RuntimeDyldMachO |
|
| SmallVector< EHFrameRelatedSections, 2 > |
UnregisteredEHFrameSections |
| Protected Attributes inherited from llvm::RuntimeDyldImpl |
|
| RuntimeDyld::MemoryManager & |
MemMgr |
| JITSymbolResolver & |
Resolver |
| SectionList |
Sections |
| RTDyldSymbolTable |
GlobalSymbolTable |
| std::unordered_map< unsigned, RelocationList > |
Relocations |
| StringMap< RelocationList > |
ExternalSymbolRelocations |
| 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 inherited from llvm::RuntimeDyldImpl |
|
| static const unsigned |
AbsoluteSymbolSection = ~0U |