class RuntimeDyldCOFFAArch64

Declaration

class RuntimeDyldCOFFAArch64 : public RuntimeDyldCOFF { /* full declaration omitted */ };

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:63

Inherits from: RuntimeDyldCOFF

Member Variables

private SmallVector<llvm::RuntimeDyldImpl::SID, 2> UnregisteredEHFrameSections
private SmallVector<llvm::RuntimeDyldImpl::SID, 2> RegisteredEHFrameSections
private uint64_t ImageBase

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 RuntimeDyldCOFFAArch64(RuntimeDyld::MemoryManager & MM, llvm::JITSymbolResolver & Resolver)
  • public std::tuple<uint64_t, uint64_t, uint64_t> generateRelocationStub(unsigned int SectionID, llvm::StringRef TargetName, uint64_t Offset, uint64_t RelType, uint64_t Addend, llvm::RuntimeDyldImpl::StubMap & Stubs)
  • private uint64_t getImageBase()
  • public unsigned int getMaxStubSize() const
  • public unsigned int getStubAlignment()
  • public Expected<object::relocation_iterator> processRelocationRef(unsigned int SectionID, object::relocation_iterator RelI, const object::ObjectFile & Obj, llvm::RuntimeDyldImpl::ObjSectionToIDMap & ObjSectionToID, llvm::RuntimeDyldImpl::StubMap & Stubs)
  • public void registerEHFrames()
  • public void resolveRelocation(const llvm::RelocationEntry & RE, uint64_t Value)

Inherited from RuntimeDyldCOFF:

Inherited from RuntimeDyldImpl:

Methods

RuntimeDyldCOFFAArch64(
    RuntimeDyld::MemoryManager& MM,
    llvm::JITSymbolResolver& Resolver)

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:90

Parameters

RuntimeDyld::MemoryManager& MM
llvm::JITSymbolResolver& Resolver

std::tuple<uint64_t, uint64_t, uint64_t>
generateRelocationStub(
    unsigned int SectionID,
    llvm::StringRef TargetName,
    uint64_t Offset,
    uint64_t RelType,
    uint64_t Addend,
    llvm::RuntimeDyldImpl::StubMap& Stubs)

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:100

Parameters

unsigned int SectionID
llvm::StringRef TargetName
uint64_t Offset
uint64_t RelType
uint64_t Addend
llvm::RuntimeDyldImpl::StubMap& Stubs

uint64_t getImageBase()

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:74

unsigned int getMaxStubSize() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:97

unsigned int getStubAlignment()

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:95

Expected<object::relocation_iterator>
processRelocationRef(
    unsigned int SectionID,
    object::relocation_iterator RelI,
    const object::ObjectFile& Obj,
    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/RuntimeDyldCOFFAArch64.h:142

Parameters

unsigned int SectionID
object::relocation_iterator RelI
const object::ObjectFile& Obj
llvm::RuntimeDyldImpl::ObjSectionToIDMap& ObjSectionToID
llvm::RuntimeDyldImpl::StubMap& Stubs

Returns

Iterator to the next relocation that needs to be parsed.

void registerEHFrames()

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:371

void resolveRelocation(
    const llvm::RelocationEntry& RE,
    uint64_t Value)

Description

A object file specific relocation resolver

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h:256

Parameters

const llvm::RelocationEntry& RE
The relocation to be resolved
uint64_t Value
Target symbol address to apply the relocation action