[JITLink][MachO/x86-64] Add a testcase for X86_64_RELOC_GOT.
authorLang Hames <lhames@gmail.com>
Thu, 27 Jun 2019 21:50:29 +0000 (21:50 +0000)
committerLang Hames <lhames@gmail.com>
Thu, 27 Jun 2019 21:50:29 +0000 (21:50 +0000)
This is the data-section counterpart to X86_64_RELOC_GOTPCREL.

llvm-svn: 364598

llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s

index c1792f6..7f206cc 100644 (file)
@@ -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