[llvm] r364672 - Re-apply r364600 with fixes.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 28 11:36:59 PDT 2019


Author: lhames
Date: Fri Jun 28 11:36:59 2019
New Revision: 364672

URL: http://llvm.org/viewvc/llvm-project?rev=364672&view=rev
Log:
Re-apply r364600 with fixes.

Fix: MachO/X86_64_RELOC_GOT is a 32-bit reloc, so only compare 32 bits.

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=364672&r1=364671&r2=364672&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 Fri Jun 28 11:36:59 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)[31:0]
+        .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