aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanil Malyshev <dmalyshev@accesssoftek.com>2012-04-17 20:10:16 +0000
committerDanil Malyshev <dmalyshev@accesssoftek.com>2012-04-17 20:10:16 +0000
commitab427334f54fed51ed721672a6d0fd1ca0802dd4 (patch)
tree3ce50a68803e6f2a6a2bfc18273fefb032dc883c
parentfdc97cd2c332e5544bd99cefa4070329cc8bf668 (diff)
Fix incorrect call of resolveRelocation() for ARM ELF stub relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154948 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
index e2ebc342ad..db6da8c8ef 100644
--- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -401,7 +401,7 @@ void RuntimeDyldELF::processRelocationRef(const ObjRelocationInfo &Rel,
// Look up for existing stub.
StubMap::const_iterator i = Stubs.find(Value);
if (i != Stubs.end()) {
- resolveRelocation(Target, Section.LoadAddress, (uint64_t)Section.Address +
+ resolveRelocation(Target, (uint64_t)Target, (uint64_t)Section.Address +
i->second, RelType, 0);
DEBUG(dbgs() << " Stub function found\n");
} else {
@@ -412,7 +412,7 @@ void RuntimeDyldELF::processRelocationRef(const ObjRelocationInfo &Rel,
Section.StubOffset);
AddRelocation(Value, Rel.SectionID,
StubTargetAddr - Section.Address, ELF::R_ARM_ABS32);
- resolveRelocation(Target, Section.LoadAddress, (uint64_t)Section.Address +
+ resolveRelocation(Target, (uint64_t)Target, (uint64_t)Section.Address +
Section.StubOffset, RelType, 0);
Section.StubOffset += getMaxStubSize();
}