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