summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorEugene Leviant <eleviant@accesssoftek.com>2017-01-10 11:05:30 +0000
committerEugene Leviant <eleviant@accesssoftek.com>2017-01-10 11:05:30 +0000
commit8e32aebe80accc69acb8de009bfe370de1ec0c5d (patch)
tree9ad6d847e97ef8994fd9f6418d0098d4a21fad74 /llvm/lib/ExecutionEngine
parentf4041a2714052b4229658590c8fab890ef55e14f (diff)
downloadbcm5719-llvm-8e32aebe80accc69acb8de009bfe370de1ec0c5d.tar.gz
bcm5719-llvm-8e32aebe80accc69acb8de009bfe370de1ec0c5d.zip
RuntimeDyldELF: implement R_AARCH64_PREL64 reloc
Differential revision: https://reviews.llvm.org/D28122 llvm-svn: 291558
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
index 8f6b1849169..05615d3cc6c 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -374,6 +374,9 @@ void RuntimeDyldELF::resolveAArch64Relocation(const SectionEntry &Section,
write(isBE, TargetPtr, static_cast<uint32_t>(Result & 0xffffffffU));
break;
}
+ case ELF::R_AARCH64_PREL64:
+ write(isBE, TargetPtr, Value + Addend - FinalAddress);
+ break;
case ELF::R_AARCH64_CALL26: // fallthrough
case ELF::R_AARCH64_JUMP26: {
// Operation: S+A-P. Set Call or B immediate value to bits fff_fffc of the
OpenPOWER on IntegriCloud