summaryrefslogtreecommitdiffstats
path: root/llvm/test/ExecutionEngine
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/ExecutionEngine')
-rw-r--r--llvm/test/ExecutionEngine/RuntimeDyld/ARM/COFF_Thumb.s34
1 files changed, 30 insertions, 4 deletions
diff --git a/llvm/test/ExecutionEngine/RuntimeDyld/ARM/COFF_Thumb.s b/llvm/test/ExecutionEngine/RuntimeDyld/ARM/COFF_Thumb.s
index 14e74cb39ac..991e88d01f5 100644
--- a/llvm/test/ExecutionEngine/RuntimeDyld/ARM/COFF_Thumb.s
+++ b/llvm/test/ExecutionEngine/RuntimeDyld/ARM/COFF_Thumb.s
@@ -1,5 +1,5 @@
// RUN: llvm-mc -triple thumbv7-windows-itanium -filetype obj -o %t.obj %s
-// RUN: llvm-rtdyld -triple thumbv7-windows -dummy-extern OutputDebugStringW=0x01310060 -dummy-extern OutputDebugStringA=0x78563412 -dummy-extern ExitProcess=0x54769890 -dummy-extern unnamed_addr=0x00001024 -verify -check %s %t.obj
+// RUN: llvm-rtdyld -triple thumbv7-windows -dummy-extern OutputDebugStringW=0x01310061 -dummy-extern OutputDebugStringA=0x78563413 -dummy-extern ExitProcess=0x54769891 -dummy-extern unnamed_addr=0x00001024 -verify -check %s %t.obj
.text
.syntax unified
@@ -82,13 +82,13 @@ string:
__imp_OutputDebugStringA:
@ rel6:
.long OutputDebugStringA @ IMAGE_REL_ARM_ADDR32
-# rtdyld-check: *{4}__imp_OutputDebugStringA = 0x78563412
+# rtdyld-check: *{4}__imp_OutputDebugStringA = 0x78563413
.p2align 2
__imp_ExitProcess:
@ rel7:
.long ExitProcess @ IMAGE_REL_ARM_ADDR32
-# rtdyld-check: *{4}__imp_ExitProcess = 0x54769890
+# rtdyld-check: *{4}__imp_ExitProcess = 0x54769891
.global relocations
relocations:
@@ -118,6 +118,32 @@ rel12: @ IMAGE_REL_ARM_MOV32T
__imp_OutputDebugStringW:
@ rel13:
.long OutputDebugStringW @ IMAGE_REL_ARM_ADDR32
-# rtdyld-check: *{4}__imp_OutputDebugStringW = 0x01310060
+# rtdyld-check: *{4}__imp_OutputDebugStringW = 0x01310061
.p2align 2
+
+branch_to_thumb_func:
+@ rel14: @ IMAGE_REL_ARM_MOV32T
+ movw r0, :lower16:function
+# rtdyld-check: decode_operand(branch_to_thumb_func, 1) = (function&0x0000ffff|1)
+ movt r0, :upper16:function
+# TODO rtdyld-check: decode_operand(branch_to_thumb_func, 1) = (function&0xffff0000>>16)
+ bx r0
+ trap
+
+ .data
+
+ .p2align 2
+a_data_symbol:
+ .long 1073741822
+
+ .p2align 2
+
+ .text
+
+ref_to_data_symbol_addr:
+@ rel15: @ IMAGE_REL_ARM_MOV32T
+ movw r0, :lower16:a_data_symbol
+# rtdyld-check: decode_operand(ref_to_data_symbol_addr, 1) = (a_data_symbol&0x0000ffff)
+ movt r0, :upper16:a_data_symbol
+# TODO rtdyld-check: decode_operand(ref_to_data_symbol_addr, 1) = (a_data_symbol&0xffff0000>>16)
OpenPOWER on IntegriCloud