diff options
author | Nick Kledzik <kledzik@apple.com> | 2014-10-18 01:21:02 +0000 |
---|---|---|
committer | Nick Kledzik <kledzik@apple.com> | 2014-10-18 01:21:02 +0000 |
commit | 3b2aa057e63e70d4556199b46ea8721c7f0f5ce0 (patch) | |
tree | e1941ac83d7f15bebf9a19ade2659dad0324cd8f /llvm/lib/Object/MachOObjectFile.cpp | |
parent | 6f9da55c0ff5c55b0bef1bc4907f9ce0915a10aa (diff) | |
download | llvm-3b2aa057e63e70d4556199b46ea8721c7f0f5ce0.zip llvm-3b2aa057e63e70d4556199b46ea8721c7f0f5ce0.tar.gz llvm-3b2aa057e63e70d4556199b46ea8721c7f0f5ce0.tar.bz2 |
[llvm-objdump] Fix mach-o binding decompression error
llvm-svn: 220119
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/MachOObjectFile.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index 4435815..6e83d81 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -1974,20 +1974,20 @@ void MachOBindEntry::moveNext() { SegmentOffset) << "\n"); return; case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB: - AdvanceAmount = readULEB128(); + AdvanceAmount = readULEB128() + PointerSize; RemainingLoopCount = 0; if (TableKind == Kind::Lazy) Malformed = true; DEBUG_WITH_TYPE( "mach-o-bind", - llvm::dbgs() << "BIND_OPCODE_DO_BIND_IMM_TIMES: " + llvm::dbgs() << "BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB: " << format("SegmentOffset=0x%06X", SegmentOffset) << ", AdvanceAmount=" << AdvanceAmount << ", RemainingLoopCount=" << RemainingLoopCount << "\n"); return; case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED: - AdvanceAmount = ImmValue * PointerSize; + AdvanceAmount = ImmValue * PointerSize + PointerSize; RemainingLoopCount = 0; if (TableKind == Kind::Lazy) Malformed = true; |