Revert llvm/test/MC/ELF/noexec.s in r227074, "Fix a problem where the AArch64 ELF...
[oota-llvm.git] / test / MC / ARM / thumb_set.s
1 @ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -t \
2 @ RUN:   | FileCheck %s
3
4 @ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s \
5 @ RUN:   | FileCheck --check-prefix=ASM %s
6
7         .syntax unified
8
9         .arm
10
11         .type arm_func,%function
12 arm_func:
13         nop
14
15         .thumb_set alias_arm_func, arm_func
16
17         alias_arm_func2 = alias_arm_func
18         alias_arm_func3 = alias_arm_func2
19
20 @ ASM: .thumb_set alias_arm_func, arm_func
21
22         .thumb
23
24         .type thumb_func,%function
25         .thumb_func
26 thumb_func:
27         nop
28
29         .thumb_set alias_thumb_func, thumb_func
30
31         .thumb_set seedless, 0x5eed1e55
32         .thumb_set eggsalad, seedless + 0x87788358
33         .thumb_set faceless, ~eggsalad + 0xe133c002
34
35         .thumb_set alias_undefined_data, badblood
36
37         .data
38
39         .type badblood,%object
40 badblood:
41         .long 0xbadb100d
42
43         .type bedazzle,%object
44 bedazzle:
45         .long 0xbeda221e
46
47         .text
48         .thumb
49
50         .thumb_set alias_defined_data, bedazzle
51
52         .type alpha,%function
53 alpha:
54         nop
55
56         .type beta,%function
57 beta:
58         bkpt
59
60         .thumb_set beta, alpha
61
62 @ CHECK: Symbol {
63 @ CHECK:   Name: alias_arm_func
64 @ CHECK:   Value: 0x1
65 @ CHECK:   Type: Function
66 @ CHECK: }
67
68 @ CHECK: Symbol {
69 @ CHECK:   Name: alias_arm_func2
70 @ CHECK:   Value: 0x1
71 @ CHECK:   Type: Function
72 @ CHECK: }
73
74 @ CHECK: Symbol {
75 @ CHECK:   Name: alias_arm_func3
76 @ CHECK:   Value: 0x1
77 @ CHECK:   Type: Function
78 @ CHECK: }
79
80 @ CHECK: Symbol {
81 @ CHECK:   Name: alias_defined_data
82 @ CHECK:   Value: 0x5
83 @ CHECK:   Type: Function
84 @ CHECK: }
85
86 @ CHECK: Symbol {
87 @ CHECK:   Name: alias_thumb_func
88 @ CHECK:   Value: 0x5
89 @ CHECK:   Type: Function
90 @ CHECK: }
91
92 @ CHECK: Symbol {
93 @ CHECK:   Name: alias_undefined_data
94 @ CHECK:   Value: 0x0
95 @ CHECK:   Type: Object
96 @ CHECK: }
97
98 @ CHECK: Symbol {
99 @ CHECK:   Name: alpha
100 @ CHECK:   Value: 0x7
101 @ CHECK:   Type: Function
102 @ CHECK: }
103
104 @ CHECK: Symbol {
105 @ CHECK:   Name: arm_func
106 @ CHECK:   Value: 0x0
107 @ CHECK:   Type: Function
108 @ CHECK: }
109
110 @ CHECK:      Symbol {
111 @ CHECK:        Name: badblood
112 @ CHECK-NEXT:   Value: 0x0
113 @ CHECK-NEXT:   Size: 0
114 @ CHECK-NEXT:   Binding: Local
115 @ CHECK-NEXT:   Type: Object
116 @ CHECK-NEXT:   Other: 0
117 @ CHECK-NEXT:   Section: .data
118 @ CHECK-NEXT: }
119
120 @ CHECK: Symbol {
121 @ CHECK:   Name: bedazzle
122 @ CHECK:   Value: 0x4
123 @ CHECK:   Type: Object
124 @ CHECK: }
125
126 @ CHECK: Symbol {
127 @ CHECK:   Name: beta
128 @ CHECK:   Value: 0x7
129 @ CHECK:   Type: Function
130 @ CHECK: }
131
132 @ CHECK: Symbol {
133 @ CHECK:   Name: eggsalad
134 @ CHECK:   Value: 0xE665A1AD
135 @ CHECK:   Type: Function
136 @ CHECK: }
137
138 @ CHECK: Symbol {
139 @ CHECK:   Name: faceless
140 @ CHECK:   Value: 0xFACE1E55
141 @ CHECK:   Type: Function
142 @ CHECK: }
143
144 @ CHECK: Symbol {
145 @ CHECK:   Name: seedless
146 @ CHECK:   Value: 0x5EED1E55
147 @ CHECK:   Type: Function
148 @ CHECK: }
149
150 @ CHECK: Symbol {
151 @ CHECK:   Name: thumb_func
152 @ CHECK:   Value: 0x5
153 @ CHECK:   Type: Function
154 @ CHECK: }