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
13pr0:
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
39pr0_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
68pr1:
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
102pr1_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
139pr2:
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
171pr2_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
203