LLVM 20.0.0git
|
MachOBindEntry encapsulates the current state in the decompression of binding opcodes. More...
#include "llvm/Object/MachO.h"
Public Types | |
enum class | Kind { Regular , Lazy , Weak } |
Public Member Functions | |
MachOBindEntry (Error *Err, const MachOObjectFile *O, ArrayRef< uint8_t > Opcodes, bool is64Bit, MachOBindEntry::Kind) | |
int32_t | segmentIndex () const |
uint64_t | segmentOffset () const |
StringRef | typeName () const |
StringRef | symbolName () const |
uint32_t | flags () const |
int64_t | addend () const |
int | ordinal () const |
StringRef | segmentName () const |
StringRef | sectionName () const |
uint64_t | address () const |
bool | operator== (const MachOBindEntry &) const |
void | moveNext () |
Friends | |
class | MachOObjectFile |
MachOBindEntry encapsulates the current state in the decompression of binding opcodes.
This allows you to iterate through the compressed table of bindings using: Error Err = Error::success(); for (const llvm::object::MachOBindEntry &Entry : Obj->bindTable(&Err)) { } if (Err) { report error ...
|
strong |
MachOBindEntry::MachOBindEntry | ( | Error * | Err, |
const MachOObjectFile * | O, | ||
ArrayRef< uint8_t > | Opcodes, | ||
bool | is64Bit, | ||
MachOBindEntry::Kind | BK | ||
) |
Definition at line 3819 of file MachOObjectFile.cpp.
int64_t MachOBindEntry::addend | ( | ) | const |
Definition at line 4320 of file MachOObjectFile.cpp.
uint64_t MachOBindEntry::address | ( | ) | const |
Definition at line 4340 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseAddress().
uint32_t MachOBindEntry::flags | ( | ) | const |
Definition at line 4322 of file MachOObjectFile.cpp.
void MachOBindEntry::moveNext | ( | ) |
Definition at line 3835 of file MachOObjectFile.cpp.
References llvm::ArrayRef< T >::begin(), llvm::MachO::BIND_IMMEDIATE_MASK, llvm::MachO::BIND_OPCODE_ADD_ADDR_ULEB, llvm::MachO::BIND_OPCODE_DO_BIND, llvm::MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED, llvm::MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB, llvm::MachO::BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB, llvm::MachO::BIND_OPCODE_DONE, llvm::MachO::BIND_OPCODE_MASK, llvm::MachO::BIND_OPCODE_SET_ADDEND_SLEB, llvm::MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_IMM, llvm::MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB, llvm::MachO::BIND_OPCODE_SET_DYLIB_SPECIAL_IMM, llvm::MachO::BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB, llvm::MachO::BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM, llvm::MachO::BIND_OPCODE_SET_TYPE_IMM, llvm::MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP, llvm::MachO::BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION, llvm::MachO::BIND_TYPE_TEXT_PCREL32, llvm::object::MachOObjectFile::BindEntryCheckSegAndOffsets(), llvm::dbgs(), DEBUG_WITH_TYPE, llvm::ArrayRef< T >::end(), error, llvm::format(), llvm::object::MachOObjectFile::getLibraryCount(), Lazy, malformedError(), P, Ptr, llvm::Twine::utohexstr(), and Weak.
bool MachOBindEntry::operator== | ( | const MachOBindEntry & | Other | ) | const |
Definition at line 4344 of file MachOObjectFile.cpp.
References assert(), llvm::ArrayRef< T >::data(), llvm::Other, and Ptr.
int MachOBindEntry::ordinal | ( | ) | const |
Definition at line 4324 of file MachOObjectFile.cpp.
StringRef MachOBindEntry::sectionName | ( | ) | const |
Definition at line 4334 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseSectionName().
int32_t MachOBindEntry::segmentIndex | ( | ) | const |
Definition at line 4302 of file MachOObjectFile.cpp.
StringRef MachOBindEntry::segmentName | ( | ) | const |
Definition at line 4328 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseSegmentName().
uint64_t MachOBindEntry::segmentOffset | ( | ) | const |
Definition at line 4304 of file MachOObjectFile.cpp.
StringRef MachOBindEntry::symbolName | ( | ) | const |
Definition at line 4318 of file MachOObjectFile.cpp.
StringRef MachOBindEntry::typeName | ( | ) | const |
Definition at line 4306 of file MachOObjectFile.cpp.
References llvm::MachO::BIND_TYPE_POINTER, llvm::MachO::BIND_TYPE_TEXT_ABSOLUTE32, and llvm::MachO::BIND_TYPE_TEXT_PCREL32.
|
friend |