summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorSean Fertile <sfertile@ca.ibm.com>2018-06-15 19:47:11 +0000
committerSean Fertile <sfertile@ca.ibm.com>2018-06-15 19:47:11 +0000
commit80b8f82f179a31f7fbc0f3076ebb681fdda3e504 (patch)
tree46c7e2c22af6e6af03054f64d976fe53a004a858 /llvm/lib/ExecutionEngine
parent72aed5e5dc7126be84a0d90063b441b6406b73f7 (diff)
downloadbcm5719-llvm-80b8f82f179a31f7fbc0f3076ebb681fdda3e504.tar.gz
bcm5719-llvm-80b8f82f179a31f7fbc0f3076ebb681fdda3e504.zip
[PPC64] Support "symbol@high" and "symbol@higha" symbol modifers.
Add support for the "@high" and "@higha" symbol modifiers in powerpc64 assembly. The modifiers represent accessing the segment consiting of bits 16-31 of a 64-bit address/offset. Differential Revision: https://reviews.llvm.org/D47729 llvm-svn: 334855
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
index e15fd0b124b..91fd129224b 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -723,9 +723,11 @@ void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section,
writeInt16BE(LocalAddress, applyPPClo(Value + Addend) & ~3);
break;
case ELF::R_PPC64_ADDR16_HI:
+ case ELF::R_PPC64_ADDR16_HIGH:
writeInt16BE(LocalAddress, applyPPChi(Value + Addend));
break;
case ELF::R_PPC64_ADDR16_HA:
+ case ELF::R_PPC64_ADDR16_HIGHA:
writeInt16BE(LocalAddress, applyPPCha(Value + Addend));
break;
case ELF::R_PPC64_ADDR16_HIGHER:
OpenPOWER on IntegriCloud