[llvm] r364598 - [JITLink][MachO/x86-64] Add a testcase for X86_64_RELOC_GOT.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 27 14:50:32 PDT 2019


Author: lhames
Date: Thu Jun 27 14:50:29 2019
New Revision: 364598

URL: http://llvm.org/viewvc/llvm-project?rev=364598&view=rev
Log:
[JITLink][MachO/x86-64] Add a testcase for X86_64_RELOC_GOT.

This is the data-section counterpart to X86_64_RELOC_GOTPCREL.

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

Modified: llvm/trunk/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s?rev=364598&r1=364597&r2=364598&view=diff
==============================================================================
--- llvm/trunk/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s (original)
+++ llvm/trunk/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s Thu Jun 27 14:50:29 2019
@@ -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 at GOTPCREL + 4
+
 # Named quad storage target (first named atom in __data).
         .globl named_data
         .p2align  3




More information about the llvm-commits mailing list