Create Makefile variables for 'share' and 'libexec'
[oota-llvm.git] / test / MC / ARM / eh-directive-personalityindex.s
1 @ RUN: llvm-mc -triple armv7-linux-eabi -filetype obj -o - %s \
2 @ RUN:   | llvm-readobj -s -sd -sr > %t
3 @ RUN: FileCheck %s < %t
4 @ RUN: FileCheck --check-prefix=RELOC %s < %t
5
6         .syntax unified
7         .thumb
8
9
10         .section .pr0
11
12         .global pr0
13         .type pr0,%function
14         .thumb_func
15 pr0:
16         .fnstart
17         .personalityindex 0
18         bx lr
19         .fnend
20
21 @ CHECK: Section {
22 @ CHECK:   Name: .ARM.exidx.pr0
23 @ CHECK:   SectionData (
24 @ CHECK:     0000: 00000000 B0B0B080
25 @ CHECK:   )
26 @ CHECK: }
27
28 @ RELOC: Section {
29 @ RELOC:   Name: .rel.ARM.exidx.pr0
30 @ RELOC:   Relocations [
31 @ RELOC:     0x0 R_ARM_PREL31 .pr0 0x0
32 @ RELOC:     0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
33 @ RELOC:   ]
34 @ RELOC: }
35
36         .section .pr0.nontrivial
37
38         .global pr0_nontrivial
39         .type pr0_nontrivial,%function
40         .thumb_func
41 pr0_nontrivial:
42         .fnstart
43         .personalityindex 0
44         .pad #0x10
45         sub sp, sp, #0x10
46         add sp, sp, #0x10
47         bx lr
48         .fnend
49
50 @ CHECK: Section {
51 @ CHECK:   Name: .ARM.exidx.pr0.nontrivial
52 @ CHECK:   SectionData (
53 @ CHECK:     0000: 00000000 B0B00380
54 @ CHECK:   )
55 @ CHECK: }
56
57 @ RELOC: Section {
58 @ RELOC:   Name: .rel.ARM.exidx.pr0.nontrivial
59 @ RELOC:   Relocations [
60 @ RELOC:     0x0 R_ARM_PREL31 .pr0.nontrivial 0x0
61 @ RELOC:     0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
62 @ RELOC:   ]
63 @ RELOC: }
64
65         .section .pr1
66
67         .global pr1
68         .type pr1,%function
69         .thumb_func
70 pr1:
71         .fnstart
72         .personalityindex 1
73         bx lr
74         .fnend
75
76 @ CHECK: Section {
77 @ CHECK:   Name: .ARM.extab.pr1
78 @ CHECK:   SectionData (
79 @ CHECK:     0000: B0B00081 00000000
80 @ CHECK:   )
81 @ CHECK: }
82
83 @ CHECK: Section {
84 @ CHECK:   Name: .ARM.exidx.pr1
85 @ CHECK:   SectionData (
86 @ CHECK:     0000: 00000000 00000000
87 @ CHECK:   )
88 @ CHECK: }
89
90 @ RELOC: Section {
91 @ RELOC:   Name: .rel.ARM.exidx.pr1
92 @ RELOC:   Relocations [
93 @ RELOC:     0x0 R_ARM_PREL31 .pr1 0x0
94 @ RELOC:     0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
95 @ RELOC:     0x4 R_ARM_PREL31 .ARM.extab.pr1 0x0
96 @ RELOC:   ]
97 @ RELOC: }
98
99         .section .pr1.nontrivial
100
101         .global pr1_nontrivial
102         .type pr1_nontrivial,%function
103         .thumb_func
104 pr1_nontrivial:
105         .fnstart
106         .personalityindex 1
107         .pad #0x10
108         sub sp, sp, #0x10
109         add sp, sp, #0x10
110         bx lr
111         .fnend
112
113 @ CHECK: Section {
114 @ CHECK:   Name: .ARM.extab.pr1.nontrivial
115 @ CHECK:   SectionData (
116 @ CHECK:     0000: B0030081 00000000
117 @ CHECK:   )
118 @ CHECK: }
119
120 @ CHECK: Section {
121 @ CHECK:   Name: .ARM.exidx.pr1.nontrivial
122 @ CHECK:   SectionData (
123 @ CHECK:     0000: 00000000 00000000
124 @ CHECK:   )
125 @ CHECK: }
126
127 @ RELOC: Section {
128 @ RELOC:   Name: .rel.ARM.exidx.pr1.nontrivial
129 @ RELOC:   Relocations [
130 @ RELOC:     0x0 R_ARM_PREL31 .pr1.nontrivial 0x0
131 @ RELOC:     0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
132 @ RELOC:     0x4 R_ARM_PREL31 .ARM.extab.pr1.nontrivial 0x0
133 @ RELOC:   ]
134 @ RELOC: }
135
136         .section .pr2
137
138         .global pr2
139         .type pr2,%function
140         .thumb_func
141 pr2:
142         .fnstart
143         .personalityindex 2
144         bx lr
145         .fnend
146
147 @ CHECK: Section {
148 @ CHECK:   Name: .ARM.extab.pr2
149 @ CHECK:   SectionData (
150 @ CHECK:     0000: B0B00082 00000000
151 @ CHECK:   )
152 @ CHECK: }
153
154 @ CHECK: Section {
155 @ CHECK:   Name: .ARM.exidx.pr2
156 @ CHECK:   SectionData (
157 @ CHECK:     0000: 00000000 00000000
158 @ CHECK:   )
159 @ CHECK: }
160
161 @ RELOC: Section {
162 @ RELOC:   Name: .rel.ARM.exidx.pr2
163 @ RELOC:   Relocations [
164 @ RELOC:     0x0 R_ARM_PREL31 .pr2 0x0
165 @ RELOC:     0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2 0x0
166 @ RELOC:     0x4 R_ARM_PREL31 .ARM.extab.pr2 0x0
167 @ RELOC:   ]
168 @ RELOC: }
169
170         .section .pr2.nontrivial
171         .type pr2_nontrivial,%function
172         .thumb_func
173 pr2_nontrivial:
174         .fnstart
175         .personalityindex 2
176         .pad #0x10
177         sub sp, sp, #0x10
178         add sp, sp, #0x10
179         bx lr
180         .fnend
181
182 @ CHECK: Section {
183 @ CHECK:   Name: .ARM.extab.pr2.nontrivial
184 @ CHECK:   SectionData (
185 @ CHECK:     0000: B0030082 00000000
186 @ CHECK:   )
187 @ CHECK: }
188
189 @ CHECK: Section {
190 @ CHECK:   Name: .ARM.exidx.pr2.nontrivial
191 @ CHECK:   SectionData (
192 @ CHECK:     0000: 00000000 00000000
193 @ CHECK:   )
194 @ CHECK: }
195
196 @ RELOC: Section {
197 @ RELOC:   Name: .rel.ARM.exidx.pr2.nontrivial
198 @ RELOC:   Relocations [
199 @ RELOC:     0x0 R_ARM_PREL31 .pr2.nontrivial 0x0
200 @ RELOC:     0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2 0x0
201 @ RELOC:     0x4 R_ARM_PREL31 .ARM.extab.pr2.nontrivial 0x0
202 @ RELOC:   ]
203 @ RELOC: }