|
LLVM
8.0.1
|
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; 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 3034 of file MachOObjectFile.cpp.
References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), and moveNext().
| uint64_t MachORebaseEntry::address | ( | ) | const |
Definition at line 3386 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseAddress(), and SegmentOffset().
| void MachORebaseEntry::moveNext | ( | ) |
Definition at line 3050 of file MachOObjectFile.cpp.
References llvm::ArrayRef< T >::begin(), llvm::dbgs(), DEBUG_WITH_TYPE, llvm::decodeULEB128(), llvm::ArrayRef< T >::end(), error, llvm::format(), malformedError(), readULEB128(), 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::RebaseEntryCheckCountAndSkip(), llvm::object::MachOObjectFile::RebaseEntryCheckSegAndOffset(), SegmentOffset(), and llvm::Twine::utohexstr().
Referenced by MachORebaseEntry().
| bool MachORebaseEntry::operator== | ( | const MachORebaseEntry & | Other | ) | const |
Definition at line 3390 of file MachOObjectFile.cpp.
References assert(), and llvm::ArrayRef< T >::data().
| StringRef MachORebaseEntry::sectionName | ( | ) | const |
Definition at line 3380 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseSectionName(), and SegmentOffset().
| int32_t MachORebaseEntry::segmentIndex | ( | ) | const |
Definition at line 3356 of file MachOObjectFile.cpp.
| StringRef MachORebaseEntry::segmentName | ( | ) | const |
Definition at line 3374 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::BindRebaseSegmentName().
| uint64_t MachORebaseEntry::segmentOffset | ( | ) | const |
Definition at line 3358 of file MachOObjectFile.cpp.
References SegmentOffset().
| StringRef MachORebaseEntry::typeName | ( | ) | const |
Definition at line 3360 of file MachOObjectFile.cpp.
References llvm::MachO::REBASE_TYPE_POINTER, llvm::MachO::REBASE_TYPE_TEXT_ABSOLUTE32, and llvm::MachO::REBASE_TYPE_TEXT_PCREL32.
|
friend |
1.8.13