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
- public SectionEntry(llvm::StringRef name, uint8_t * address, size_t size, size_t allocationSize, uintptr_t objAddress)
- public void advanceStubOffset(unsigned int StubSize)
- public uint8_t * getAddress() const
- public uint8_t * getAddressWithOffset(unsigned int OffsetBytes) const
- public uint64_t getLoadAddress() const
- public uint64_t getLoadAddressWithOffset(unsigned int OffsetBytes) const
- public llvm::StringRef getName() const
- public uintptr_t getObjAddress() const
- public size_t getSize() const
- public uintptr_t getStubOffset() const
- public void setLoadAddress(uint64_t LA)
Methods
¶SectionEntry(llvm::StringRef name,
uint8_t* address,
size_t size,
size_t allocationSize,
uintptr_t objAddress)
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)
void advanceStubOffset(unsigned int StubSize)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:107
Parameters
- unsigned int StubSize
¶uint8_t* getAddress() const
uint8_t* getAddress() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:86
¶uint8_t* getAddressWithOffset(
unsigned int OffsetBytes) const
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
uint64_t getLoadAddress() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:96
¶uint64_t getLoadAddressWithOffset(
unsigned int OffsetBytes) const
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
llvm::StringRef getName() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:84
¶uintptr_t getObjAddress() const
uintptr_t getObjAddress() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:112
¶size_t getSize() const
size_t getSize() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:94
¶uintptr_t getStubOffset() const
uintptr_t getStubOffset() const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:105
¶void setLoadAddress(uint64_t LA)
void setLoadAddress(uint64_t LA)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h:97
Parameters
- uint64_t LA