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
15pr0:
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_NONE __aeabi_unwind_cpp_pr0 0x0
32@ RELOC:     0x0 R_ARM_PREL31 .pr0 0x0
33@ RELOC:   ]
34@ RELOC: }
35
36	.section .pr0.nontrivial
37
38	.global pr0_nontrivial
39	.type pr0_nontrivial,%function
40	.thumb_func
41pr0_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_NONE __aeabi_unwind_cpp_pr0 0x0
61@ RELOC:     0x0 R_ARM_PREL31 .pr0.nontrivial 0x0
62@ RELOC:   ]
63@ RELOC: }
64
65	.section .pr1
66
67	.global pr1
68	.type pr1,%function
69	.thumb_func
70pr1:
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_NONE __aeabi_unwind_cpp_pr1 0x0
94@ RELOC:     0x0 R_ARM_PREL31 .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
104pr1_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_NONE __aeabi_unwind_cpp_pr1 0x0
131@ RELOC:     0x0 R_ARM_PREL31 .pr1.nontrivial 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
141pr2:
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_NONE __aeabi_unwind_cpp_pr2 0x0
165@ RELOC:     0x0 R_ARM_PREL31 .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
173pr2_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_NONE __aeabi_unwind_cpp_pr2 0x0
200@ RELOC:     0x0 R_ARM_PREL31 .pr2.nontrivial 0x0
201@ RELOC:     0x4 R_ARM_PREL31 .ARM.extab.pr2.nontrivial 0x0
202@ RELOC:   ]
203@ RELOC: }
204