summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2019-06-27 21:50:29 +0000
committerLang Hames <lhames@gmail.com>2019-06-27 21:50:29 +0000
commit4a8dc6153464abd3eae0f180b26ebbbe19afcdb2 (patch)
tree564c9a8ef5f479985eaf20b6c71a8e21de77c7d9 /llvm
parent30cab5d6eef746bcaeca220550295fb760393e7c (diff)
downloadbcm5719-llvm-4a8dc6153464abd3eae0f180b26ebbbe19afcdb2.tar.gz
bcm5719-llvm-4a8dc6153464abd3eae0f180b26ebbbe19afcdb2.zip
[JITLink][MachO/x86-64] Add a testcase for X86_64_RELOC_GOT.
This is the data-section counterpart to X86_64_RELOC_GOTPCREL. llvm-svn: 364598
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s b/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s
index c1792f65b8b..7f206cc90e1 100644
--- a/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s
+++ b/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s
@@ -129,6 +129,18 @@ Lanon_minuend_quad:
Lanon_minuend_long:
.long Lanon_minuend_long - named_data + 2
+# Check X86_64_RELOC_GOT handling.
+# X86_64_RELOC_GOT is the data-section counterpart to X86_64_RELOC_GOTLD. It is
+# handled exactly the same way, including having an implicit PC-rel offset of -4
+# (despite this not making sense in a data section, and requiring an explicit
+# +4 addend to cancel it out and get the correct result).
+#
+# jitlink-check: *{4}test_got = got_addr(macho_reloc.o, external_data) - test_got
+ .globl test_got
+ .p2align 2
+test_got:
+ .long external_data@GOTPCREL + 4
+
# Named quad storage target (first named atom in __data).
.globl named_data
.p2align 3
OpenPOWER on IntegriCloud