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() constDeclared at: llvm/include/llvm/Object/MachO.h:319
¶uint64_t address() const
uint64_t address() constDeclared 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() constDeclared 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() constDeclared at: llvm/include/llvm/Object/MachO.h:320
¶uint64_t pointerValue() const
uint64_t pointerValue() constDeclared 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() constDeclared 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() constDeclared at: llvm/include/llvm/Object/MachO.h:315
¶uint64_t segmentAddress() const
uint64_t segmentAddress() constDeclared at: llvm/include/llvm/Object/MachO.h:313
¶int32_t segmentIndex() const
int32_t segmentIndex() constDeclared at: llvm/include/llvm/Object/MachO.h:311
¶llvm::StringRef segmentName() const
llvm::StringRef segmentName() constDeclared at: llvm/include/llvm/Object/MachO.h:314
¶uint64_t segmentOffset() const
uint64_t segmentOffset() constDeclared at: llvm/include/llvm/Object/MachO.h:312
¶llvm::StringRef symbolName() const
llvm::StringRef symbolName() constDeclared at: llvm/include/llvm/Object/MachO.h:317
¶uint64_t textAddress() const
uint64_t textAddress() constDeclared 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() constDeclared at: llvm/include/llvm/Object/MachO.h:316