class SectionEntry

Declaration

class SectionEntry { /* full declaration omitted */ };

Description

SectionEntry - represents a section emitted into memory by the dynamic linker.

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:45

Member Variables

private std::string Name
Name - section name.
private uint8_t* Address
Address - address in the linker's memory where the section resides.
private size_t Size
Size - section size. Doesn't include the stubs.
private uint64_t LoadAddress
LoadAddress - the address of the section in the target process's memory. Used for situations in which JIT-ed code is being executed in the address space of a separate process. If the code executes in the same address space where it was JIT-ed, this just equals Address.
private uintptr_t StubOffset
StubOffset - used for architectures with stub functions for far relocations (like ARM).
private size_t AllocationSize
The total amount of space allocated for this section. This includes the section size and the maximum amount of space that the stubs can occupy.
private uintptr_t ObjAddress
ObjAddress - address of the section in the in-memory object file. Used for calculating relocations in some object formats (like MachO).

Method Overview

Methods

SectionEntry(llvm::StringRef name,
             uint8_t* address,
             size_t size,
             size_t allocationSize,
             uintptr_t objAddress)

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:74

Parameters

llvm::StringRef name
uint8_t* address
size_t size
size_t allocationSize
uintptr_t objAddress

void advanceStubOffset(unsigned int StubSize)

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:107

Parameters

unsigned int StubSize

uint8_t* getAddress() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:86

uint8_t* getAddressWithOffset(
    unsigned int OffsetBytes) const

Description

Return the address of this section with an offset.

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:89

Parameters

unsigned int OffsetBytes

uint64_t getLoadAddress() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:96

uint64_t getLoadAddressWithOffset(
    unsigned int OffsetBytes) const

Description

Return the load address of this section with an offset.

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:100

Parameters

unsigned int OffsetBytes

llvm::StringRef getName() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:84

uintptr_t getObjAddress() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:112

size_t getSize() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:94

uintptr_t getStubOffset() const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:105

void setLoadAddress(uint64_t LA)

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:97

Parameters

uint64_t LA