LLVM 20.0.0git
|
MachORebaseEntry encapsulates the current state in the decompression of rebasing opcodes. More...
#include "llvm/Object/MachO.h"
Public Member Functions | |
MachORebaseEntry (Error *Err, const MachOObjectFile *O, ArrayRef< uint8_t > opcodes, bool is64Bit) | |
int32_t | segmentIndex () const |
uint64_t | segmentOffset () const |
StringRef | typeName () const |
StringRef | segmentName () const |
StringRef | sectionName () const |
uint64_t | address () const |
bool | operator== (const MachORebaseEntry &) const |
void | moveNext () |
Friends | |
class | MachOObjectFile |
MachORebaseEntry encapsulates the current state in the decompression of rebasing opcodes.
This allows you to iterate through the compressed table of rebasing using: Error Err = Error::success(); for (const llvm::object::MachORebaseEntry &Entry : Obj->rebaseTable(&Err)) { } if (Err) { report error ...
MachORebaseEntry::MachORebaseEntry | ( | Error * | Err, |
const MachOObjectFile * | O, | ||
ArrayRef< uint8_t > | opcodes, | ||
bool | is64Bit | ||
) |
Definition at line 3478 of file MachOObjectFile.cpp.
uint64_t MachORebaseEntry::address | ( | ) | const |
Definition at line 3784 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseAddress().
void MachORebaseEntry::moveNext | ( | ) |
Definition at line 3494 of file MachOObjectFile.cpp.
References llvm::ArrayRef< T >::begin(), llvm::dbgs(), DEBUG_WITH_TYPE, llvm::ArrayRef< T >::end(), error, llvm::format(), malformedError(), Ptr, llvm::MachO::REBASE_IMMEDIATE_MASK, llvm::MachO::REBASE_OPCODE_ADD_ADDR_IMM_SCALED, llvm::MachO::REBASE_OPCODE_ADD_ADDR_ULEB, llvm::MachO::REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB, llvm::MachO::REBASE_OPCODE_DO_REBASE_IMM_TIMES, llvm::MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES, llvm::MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB, llvm::MachO::REBASE_OPCODE_DONE, llvm::MachO::REBASE_OPCODE_MASK, llvm::MachO::REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB, llvm::MachO::REBASE_OPCODE_SET_TYPE_IMM, llvm::MachO::REBASE_TYPE_TEXT_PCREL32, llvm::object::MachOObjectFile::RebaseEntryCheckSegAndOffsets(), and llvm::Twine::utohexstr().
bool MachORebaseEntry::operator== | ( | const MachORebaseEntry & | Other | ) | const |
Definition at line 3788 of file MachOObjectFile.cpp.
References assert(), llvm::ArrayRef< T >::data(), llvm::Other, and Ptr.
StringRef MachORebaseEntry::sectionName | ( | ) | const |
Definition at line 3778 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseSectionName().
int32_t MachORebaseEntry::segmentIndex | ( | ) | const |
Definition at line 3754 of file MachOObjectFile.cpp.
StringRef MachORebaseEntry::segmentName | ( | ) | const |
Definition at line 3772 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseSegmentName().
uint64_t MachORebaseEntry::segmentOffset | ( | ) | const |
Definition at line 3756 of file MachOObjectFile.cpp.
StringRef MachORebaseEntry::typeName | ( | ) | const |
Definition at line 3758 of file MachOObjectFile.cpp.
References llvm::MachO::REBASE_TYPE_POINTER, llvm::MachO::REBASE_TYPE_TEXT_ABSOLUTE32, and llvm::MachO::REBASE_TYPE_TEXT_PCREL32.
|
friend |