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
- public MachOAbstractFixupEntry(llvm::Error * Err, const llvm::object::MachOObjectFile * O)
- public int64_t addend() const
- public uint64_t address() const
- public uint32_t flags() const
- public void moveNext()
- protected void moveToEnd()
- protected void moveToFirst()
- public int ordinal() const
- public uint64_t pointerValue() const
- public uint64_t rawValue() const
- public llvm::StringRef sectionName() const
- public uint64_t segmentAddress() const
- public int32_t segmentIndex() const
- public llvm::StringRef segmentName() const
- public uint64_t segmentOffset() const
- public llvm::StringRef symbolName() const
- protected uint64_t textAddress() const
- public llvm::StringRef typeName() const
Methods
¶MachOAbstractFixupEntry(
llvm::Error* Err,
const llvm::object::MachOObjectFile* O)
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
int64_t addend() const
Declared at: llvm/include/llvm/Object/MachO.h:319
¶uint64_t address() const
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
uint32_t flags() const
Declared at: llvm/include/llvm/Object/MachO.h:318
¶void moveNext()
void moveNext()
Declared at: llvm/include/llvm/Object/MachO.h:338
¶void moveToEnd()
void moveToEnd()
Declared at: llvm/include/llvm/Object/MachO.h:354
¶void moveToFirst()
void moveToFirst()
Declared at: llvm/include/llvm/Object/MachO.h:353
¶int ordinal() const
int ordinal() const
Declared at: llvm/include/llvm/Object/MachO.h:320
¶uint64_t pointerValue() const
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
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
llvm::StringRef sectionName() const
Declared at: llvm/include/llvm/Object/MachO.h:315
¶uint64_t segmentAddress() const
uint64_t segmentAddress() const
Declared at: llvm/include/llvm/Object/MachO.h:313
¶int32_t segmentIndex() const
int32_t segmentIndex() const
Declared at: llvm/include/llvm/Object/MachO.h:311
¶llvm::StringRef segmentName() const
llvm::StringRef segmentName() const
Declared at: llvm/include/llvm/Object/MachO.h:314
¶uint64_t segmentOffset() const
uint64_t segmentOffset() const
Declared at: llvm/include/llvm/Object/MachO.h:312
¶llvm::StringRef symbolName() const
llvm::StringRef symbolName() const
Declared at: llvm/include/llvm/Object/MachO.h:317
¶uint64_t textAddress() const
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
llvm::StringRef typeName() const
Declared at: llvm/include/llvm/Object/MachO.h:316