blob: 7d23a05f1adf39bde952d9f240e3bd0c903991d8 [file] [log] [blame]
Saleem Abdulrasoolbe981ebc2014-01-08 03:28:09 +00001@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -u - \
2@ RUN: | FileCheck %s
3
4 .syntax unified
5
6 .cpu cortex-a8
7 .fpu neon
8
9 .section .personality
10
11 .type __personality,%function
12__personality:
13 .fnstart
14 bkpt
15 .fnend
16
17
18 .section .personality0
19
20 .type personality0,%function
21personality0:
22 .fnstart
23 bx lr
24 .fnend
25
26
27 .section .personality1
28
29 .type personality1,%function
30personality1:
31 .fnstart
32 .pad #0x100
33 sub sp, sp, #0x100
34 .save {r0-r11}
35 push {r0-r11}
36 pop {r0-r11}
37 add sp, sp, #0x100
38 bx lr
39 .fnend
40
41
42 .section .custom_personality
43
44 .type custom_personality,%function
45custom_personality:
46 .fnstart
47 .personality __personality
48 bx lr
49 .fnend
50
51
52 .section .opcodes
53
54 .type opcodes,%function
55opcodes:
56 .fnstart
57 .vsave {d8-d12}
58 vpush {d8-d12}
59 vpop {d8-d12}
60 bx lr
61 .fnend
62
63
64 .section .multiple
65
66 .type function0,%function
67function0:
68 .fnstart
69 bx lr
70 .fnend
71
72 .type function1,%function
73function1:
74 .fnstart
75 .personality __personality
76 bx lr
77 .fnend
78
79 .type function2,%function
80function2:
81 .fnstart
82 bx lr
83 .fnend
84
85@ CHECK: UnwindInformation {
86@ CHECK: UnwindIndexTable {
87@ CHECK: SectionName: .ARM.exidx.personality
88@ CHECK: Entries [
89@ CHECK: Entry {
90@ CHECK: FunctionAddress: 0x0
91@ CHECK: FunctionName: __personality
92@ CHECK: Model: Compact (Inline)
93@ CHECK: PersonalityIndex: 0
94@ CHECK: ByteCode [
95@ CHECK: Instruction: 0xB0
96@ CHECK: Instruction: 0xB0
97@ CHECK: Instruction: 0xB0
98@ CHECK: ]
99@ CHECK: }
100@ CHECK: ]
101@ CHECK: }
102@ CHECK: UnwindIndexTable {
103@ CHECK: SectionName: .ARM.exidx.personality0
104@ CHECK: Entries [
105@ CHECK: Entry {
106@ CHECK: FunctionAddress: 0x0
107@ CHECK: FunctionName: personality0
108@ CHECK: Model: Compact (Inline)
109@ CHECK: PersonalityIndex: 0
110@ CHECK: ByteCode [
111@ CHECK: Instruction: 0xB0
112@ CHECK: Instruction: 0xB0
113@ CHECK: Instruction: 0xB0
114@ CHECK: ]
115@ CHECK: }
116@ CHECK: ]
117@ CHECK: }
118@ CHECK: UnwindIndexTable {
119@ CHECK: SectionName: .ARM.exidx.personality1
120@ CHECK: Entries [
121@ CHECK: Entry {
122@ CHECK: FunctionAddress: 0x0
123@ CHECK: FunctionName: personality1
124@ CHECK: ExceptionHandlingTable: .ARM.extab.personality1
125@ CHECK: TableEntryOffset: 0x0
126@ CHECK: Model: Compact
127@ CHECK: PersonalityIndex: 1
128@ CHECK: ByteCode [
129@ CHECK: Instruction: 0xB1
130@ CHECK: Instruction: 0xF
131@ CHECK: Instruction: 0xA7
132@ CHECK: Instruction: 0x3F
133@ CHECK: Instruction: 0xB0
134@ CHECK: Instruction: 0xB0
135@ CHECK: ]
136@ CHECK: }
137@ CHECK: ]
138@ CHECK: }
139@ CHECK: UnwindIndexTable {
140@ CHECK: SectionName: .ARM.exidx.custom_personality
141@ CHECK: Entries [
142@ CHECK: Entry {
143@ CHECK: FunctionAddress: 0x0
144@ CHECK: FunctionName: custom_personality
145@ CHECK: ExceptionHandlingTable: .ARM.extab.custom_personality
146@ CHECK: TableEntryOffset: 0x0
147@ CHECK: Model: Generic
148@ CHECK: PersonalityRoutineAddress: 0x0
149@ CHECK: }
150@ CHECK: ]
151@ CHECK: }
152@ CHECK: UnwindIndexTable {
153@ CHECK: SectionName: .ARM.exidx.opcodes
154@ CHECK: Entries [
155@ CHECK: Entry {
156@ CHECK: FunctionAddress: 0x0
157@ CHECK: FunctionName: opcodes
158@ CHECK: Model: Compact (Inline)
159@ CHECK: PersonalityIndex: 0
160@ CHECK: ByteCode [
161@ CHECK: Instruction: 0xC9
162@ CHECK: Instruction: 0x84
163@ CHECK: Instruction: 0xB0
164@ CHECK: ]
165@ CHECK: }
166@ CHECK: ]
167@ CHECK: }
168@ CHECK: UnwindIndexTable {
169@ CHECK: SectionName: .ARM.exidx.multiple
170@ CHECK: Entries [
171@ CHECK: Entry {
172@ CHECK: FunctionAddress: 0x0
173@ CHECK: FunctionName: function0
174@ CHECK: Model: Compact (Inline)
175@ CHECK: PersonalityIndex: 0
176@ CHECK: ByteCode [
177@ CHECK: Instruction: 0xB0
178@ CHECK: Instruction: 0xB0
179@ CHECK: Instruction: 0xB0
180@ CHECK: ]
181@ CHECK: }
182@ CHECK: Entry {
183@ CHECK: FunctionAddress: 0x4
184@ CHECK: FunctionName: function1
185@ CHECK: ExceptionHandlingTable: .ARM.extab.multiple
186@ CHECK: Model: Generic
187@ CHECK: PersonalityRoutineAddress: 0x0
188@ CHECK: }
189@ CHECK: Entry {
190@ CHECK: FunctionAddress: 0x8
191@ CHECK: FunctionName: function2
192@ CHECK: Model: Compact (Inline)
193@ CHECK: PersonalityIndex: 0
194@ CHECK: ByteCode [
195@ CHECK: Instruction: 0xB0
196@ CHECK: Instruction: 0xB0
197@ CHECK: Instruction: 0xB0
198@ CHECK: ]
199@ CHECK: }
200@ CHECK: ]
201@ CHECK: }
202@ CHECK: }
203