summaryrefslogtreecommitdiff
path: root/lib/Object/MachOObjectFile.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-10-26 17:10:22 +0000
committerOwen Anderson <resistor@mac.com>2011-10-26 17:10:22 +0000
commitf8261e7d07a8994e08cdba9f0e336e645daf104c (patch)
tree42efaabddb61eec5251aca785161fd88c5222732 /lib/Object/MachOObjectFile.cpp
parent9472b8d220fc746498429f430cb4c4dbfbd38f2a (diff)
downloadllvm-f8261e7d07a8994e08cdba9f0e336e645daf104c.tar.gz
llvm-f8261e7d07a8994e08cdba9f0e336e645daf104c.tar.bz2
llvm-f8261e7d07a8994e08cdba9f0e336e645daf104c.tar.xz
Include the full 64 bits of relocation data in the type info for MachO relocations, so that we can recognize scattered relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143033 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Object/MachOObjectFile.cpp')
-rw-r--r--lib/Object/MachOObjectFile.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp
index 9ed5445dda..82b9231ed8 100644
--- a/lib/Object/MachOObjectFile.cpp
+++ b/lib/Object/MachOObjectFile.cpp
@@ -637,7 +637,9 @@ error_code MachOObjectFile::getRelocationType(DataRefImpl Rel,
uint64_t &Res) const {
InMemoryStruct<macho::RelocationEntry> RE;
getRelocation(Rel, RE);
- Res = RE->Word1;
+ Res = RE->Word0;
+ Res <<= 32;
+ Res |= RE->Word1;
return object_error::success;
}
error_code MachOObjectFile::getRelocationTypeName(DataRefImpl Rel,