diff options
author | Eugene Leviant <eleviant@accesssoftek.com> | 2017-01-10 11:05:30 +0000 |
---|---|---|
committer | Eugene Leviant <eleviant@accesssoftek.com> | 2017-01-10 11:05:30 +0000 |
commit | 8e32aebe80accc69acb8de009bfe370de1ec0c5d (patch) | |
tree | 9ad6d847e97ef8994fd9f6418d0098d4a21fad74 /llvm/lib/ExecutionEngine | |
parent | f4041a2714052b4229658590c8fab890ef55e14f (diff) | |
download | bcm5719-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.cpp | 3 |
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 |