class MachOAbstractFixupEntry

Declaration

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

Description

MachOAbstractFixupEntry is an abstract class representing a fixup in a MH_DYLDLINK file. Fixups generally represent rebases and binds. Binds also subdivide into additional subtypes (weak, lazy, reexport). The two concrete subclasses of MachOAbstractFixupEntry are: MachORebaseBindEntry - for dyld opcode-based tables, including threaded- rebase, where rebases are mixed in with other bind opcodes. MachOChainedFixupEntry - for pointer chains embedded in data pages.

Declared at: llvm/include/llvm/Object/MachO.h:307

Member Variables

protected llvm::Error* E
protected const llvm::object::MachOObjectFile* O
protected uint64_t SegmentOffset = 0
protected int32_t SegmentIndex = -1
protected llvm::StringRef SymbolName
protected int32_t Ordinal = 0
protected uint32_t Flags = 0
protected int64_t Addend = 0
protected uint64_t PointerValue = 0
protected uint64_t RawValue = 0
protected bool Done = false
private uint64_t TextAddress

Method Overview

Methods

MachOAbstractFixupEntry(
    llvm::Error* Err,
    const llvm::object::MachOObjectFile* O)

Declared at: llvm/include/llvm/Object/MachO.h:309

Parameters

llvm::Error* Err
const llvm::object::MachOObjectFile* O

int64_t addend() const

Declared at: llvm/include/llvm/Object/MachO.h:319

uint64_t address() const

Declared at: llvm/include/llvm/Object/MachO.h:324

Returns

the location of this fixup as a VM Address. For the VM Address this fixup is pointing to, use pointerValue().

uint32_t flags() const

Declared at: llvm/include/llvm/Object/MachO.h:318

void moveNext()

Declared at: llvm/include/llvm/Object/MachO.h:338

void moveToEnd()

Declared at: llvm/include/llvm/Object/MachO.h:354

void moveToFirst()

Declared at: llvm/include/llvm/Object/MachO.h:353

int ordinal() const

Declared at: llvm/include/llvm/Object/MachO.h:320

uint64_t pointerValue() const

Declared at: llvm/include/llvm/Object/MachO.h:329

Returns

the VM Address pointed to by this fixup. Use pointerValue() to compare against other VM Addresses, such as section addresses or segment vmaddrs.

uint64_t rawValue() const

Declared at: llvm/include/llvm/Object/MachO.h:336

Returns

the raw "on-disk" representation of the fixup. For Threaded rebases and Chained pointers these values are generally encoded into various different pointer formats. This value is exposed in API for tools that want to display and annotate the raw bits.

llvm::StringRef sectionName() const

Declared at: llvm/include/llvm/Object/MachO.h:315

uint64_t segmentAddress() const

Declared at: llvm/include/llvm/Object/MachO.h:313

int32_t segmentIndex() const

Declared at: llvm/include/llvm/Object/MachO.h:311

llvm::StringRef segmentName() const

Declared at: llvm/include/llvm/Object/MachO.h:314

uint64_t segmentOffset() const

Declared at: llvm/include/llvm/Object/MachO.h:312

llvm::StringRef symbolName() const

Declared at: llvm/include/llvm/Object/MachO.h:317

uint64_t textAddress() const

Declared at: llvm/include/llvm/Object/MachO.h:357

Returns

the vm address of the start of __TEXT segment.

llvm::StringRef typeName() const

Declared at: llvm/include/llvm/Object/MachO.h:316