class RuntimeDyldMachOX86_64
Declaration
class RuntimeDyldMachOX86_64 : public RuntimeDyldMachOCRTPBase { /* 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/Targets/RuntimeDyldMachOX86_64.h:18
Inherits from: RuntimeDyldMachOCRTPBase
Method Overview
- public RuntimeDyldMachOX86_64(RuntimeDyld::MemoryManager & MM, llvm::JITSymbolResolver & Resolver)
- public llvm::Error finalizeSection(const llvm::object::ObjectFile & Obj, unsigned int SectionID, const llvm::object::SectionRef & Section)
- public unsigned int getMaxStubSize() const
- public unsigned int getStubAlignment()
- private void processGOTRelocation(const llvm::RelocationEntry & RE, llvm::RelocationValueRef & Value, llvm::RuntimeDyldImpl::StubMap & Stubs)
- public Expected<llvm::object::relocation_iterator> processRelocationRef(unsigned int SectionID, llvm::object::relocation_iterator RelI, const llvm::object::ObjectFile & BaseObjT, llvm::RuntimeDyldImpl::ObjSectionToIDMap & ObjSectionToID, llvm::RuntimeDyldImpl::StubMap & Stubs)
- private Expected<llvm::object::relocation_iterator> processSubtractRelocation(unsigned int SectionID, llvm::object::relocation_iterator RelI, const llvm::object::MachOObjectFile & BaseObj, llvm::RuntimeDyldImpl::ObjSectionToIDMap & ObjSectionToID)
- public void resolveRelocation(const llvm::RelocationEntry & RE, uint64_t Value)
Methods
¶RuntimeDyldMachOX86_64(
RuntimeDyld::MemoryManager& MM,
llvm::JITSymbolResolver& Resolver)
RuntimeDyldMachOX86_64(
RuntimeDyld::MemoryManager& MM,
llvm::JITSymbolResolver& Resolver)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:24
Parameters
- RuntimeDyld::MemoryManager& MM
- llvm::JITSymbolResolver& Resolver
¶llvm::Error finalizeSection(
const llvm::object::ObjectFile& Obj,
unsigned int SectionID,
const llvm::object::SectionRef& Section)
llvm::Error finalizeSection(
const llvm::object::ObjectFile& Obj,
unsigned int SectionID,
const llvm::object::SectionRef& Section)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:122
Parameters
- const llvm::object::ObjectFile& Obj
- unsigned int SectionID
- const llvm::object::SectionRef& Section
¶unsigned int getMaxStubSize() const
unsigned int getMaxStubSize() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:28
¶unsigned int getStubAlignment()
unsigned int getStubAlignment()
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:30
¶void processGOTRelocation(
const llvm::RelocationEntry& RE,
llvm::RelocationValueRef& Value,
llvm::RuntimeDyldImpl::StubMap& Stubs)
void processGOTRelocation(
const llvm::RelocationEntry& RE,
llvm::RelocationValueRef& Value,
llvm::RuntimeDyldImpl::StubMap& Stubs)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:128
Parameters
- const llvm::RelocationEntry& RE
- llvm::RelocationValueRef& Value
- llvm::RuntimeDyldImpl::StubMap& Stubs
¶Expected<llvm::object::relocation_iterator>
processRelocationRef(
unsigned int SectionID,
llvm::object::relocation_iterator RelI,
const llvm::object::ObjectFile& BaseObjT,
llvm::RuntimeDyldImpl::ObjSectionToIDMap&
ObjSectionToID,
llvm::RuntimeDyldImpl::StubMap& Stubs)
Expected<llvm::object::relocation_iterator>
processRelocationRef(
unsigned int SectionID,
llvm::object::relocation_iterator RelI,
const llvm::object::ObjectFile& BaseObjT,
llvm::RuntimeDyldImpl::ObjSectionToIDMap&
ObjSectionToID,
llvm::RuntimeDyldImpl::StubMap& Stubs)
Description
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).
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:33
Parameters
- unsigned int SectionID
- llvm::object::relocation_iterator RelI
- const llvm::object::ObjectFile& BaseObjT
- llvm::RuntimeDyldImpl::ObjSectionToIDMap& ObjSectionToID
- llvm::RuntimeDyldImpl::StubMap& Stubs
Returns
Iterator to the next relocation that needs to be parsed.
¶Expected<llvm::object::relocation_iterator>
processSubtractRelocation(
unsigned int SectionID,
llvm::object::relocation_iterator RelI,
const llvm::object::MachOObjectFile& BaseObj,
llvm::RuntimeDyldImpl::ObjSectionToIDMap&
ObjSectionToID)
Expected<llvm::object::relocation_iterator>
processSubtractRelocation(
unsigned int SectionID,
llvm::object::relocation_iterator RelI,
const llvm::object::MachOObjectFile& BaseObj,
llvm::RuntimeDyldImpl::ObjSectionToIDMap&
ObjSectionToID)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:157
Parameters
- unsigned int SectionID
- llvm::object::relocation_iterator RelI
- const llvm::object::MachOObjectFile& BaseObj
- llvm::RuntimeDyldImpl::ObjSectionToIDMap& ObjSectionToID
¶void resolveRelocation(
const llvm::RelocationEntry& RE,
uint64_t Value)
void resolveRelocation(
const llvm::RelocationEntry& RE,
uint64_t Value)
Description
A object file specific relocation resolver
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h:85
Parameters
- const llvm::RelocationEntry& RE
- The relocation to be resolved
- uint64_t Value
- Target symbol address to apply the relocation action