[llvm] r216024 - [MCJIT] Add an i386 RuntimeDyldMachO test case.

Lang Hames lhames at gmail.com
Tue Aug 19 14:26:37 PDT 2014


Author: lhames
Date: Tue Aug 19 16:26:36 2014
New Revision: 216024

URL: http://llvm.org/viewvc/llvm-project?rev=216024&view=rev
Log:
[MCJIT] Add an i386 RuntimeDyldMachO test case.


Added:
    llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s
Modified:
    llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s

Added: llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s?rev=216024&view=auto
==============================================================================
--- llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s (added)
+++ llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s Tue Aug 19 16:26:36 2014
@@ -0,0 +1,45 @@
+# RUN: llvm-mc -triple=i386-apple-macosx10.4 -relocation-model=dynamic-no-pic -filetype=obj -o %T/test_i386.o %s
+# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -check=%s %/T/test_i386.o
+
+	.section	__TEXT,__text,regular,pure_instructions
+	.globl	bar
+	.align	4, 0x90
+bar:
+	calll	tmp0$pb
+tmp0$pb:
+	popl	%eax
+# Test section difference relocation to non-lazy ptr section.
+# rtdyld-check: decode_operand(inst1, 4) = x$non_lazy_ptr - tmp0$pb
+inst1:
+	movl	x$non_lazy_ptr-tmp0$pb(%eax), %eax
+        movl    (%eax), %ebx
+
+# Test VANILLA relocation to jump table.
+# rtdyld-check: decode_operand(inst2, 0) = bling$stub - next_pc(inst2)
+inst2:
+        calll	bling$stub
+        addl    %ebx, %eax
+
+# Test scattered VANILLA relocations.
+inst3:
+        movl    y+4, %ecx
+        addl    %ecx, %eax
+	retl
+
+	.section	__IMPORT,__jump_table,symbol_stubs,pure_instructions+self_modifying_code,5
+bling$stub:
+	.indirect_symbol	bling
+	.ascii	"\364\364\364\364\364"
+
+	.section	__IMPORT,__pointers,non_lazy_symbol_pointers
+x$non_lazy_ptr:
+	.indirect_symbol	x
+	.long	0
+
+        .comm   x,4,2
+        .comm   bling,4,2
+
+        .globl	y
+.zerofill __DATA,__common,y,8,3
+
+.subsections_via_symbols

Modified: llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s?rev=216024&r1=216023&r2=216024&view=diff
==============================================================================
--- llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s (original)
+++ llvm/trunk/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s Tue Aug 19 16:26:36 2014
@@ -1,5 +1,5 @@
-# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -relocation-model=pic -filetype=obj -o %T/foo.o %s
-# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -verify -check=%s %/T/foo.o
+# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -relocation-model=pic -filetype=obj -o %T/test_x86-64.o %s
+# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -verify -check=%s %/T/test_x86-64.o
 # XFAIL: mips
 
         .section	__TEXT,__text,regular,pure_instructions
@@ -24,8 +24,8 @@ insn2:
 # Test PC-rel GOT relocation.
 # Verify both the contents of the GOT entry for y, and that the movq instruction
 # references the correct GOT entry address:
-# rtdyld-check: *{8}(stub_addr(foo.o, __text, y)) = y
-# rtdyld-check: decode_operand(insn3, 4) = stub_addr(foo.o, __text, y) - next_pc(insn3)
+# rtdyld-check: *{8}(stub_addr(test_x86-64.o, __text, y)) = y
+# rtdyld-check: decode_operand(insn3, 4) = stub_addr(test_x86-64.o, __text, y) - next_pc(insn3)
 insn3:
         movq	y at GOTPCREL(%rip), %rax
 





More information about the llvm-commits mailing list