1c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \
2c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ RUN:   | llvm-readobj -s -sd | FileCheck %s
3c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
4c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ Check for .setfp directive.
5c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
6c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The .setfp directive will track the offset between the frame pointer and
7c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ the stack pointer.  This is required for the function that will change
8c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ the stack pointer out of the function prologue.  If the exception is thrown,
9c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ then libunwind will reconstruct the stack pointer from the frame pointer.
10c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The reconstruction code is implemented by two different unwind opcode:
11c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ (i) the unwind opcode to copy stack offset from the other register, and
1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ (ii) the unwind opcode to add or subtract the stack offset.
13c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@
14c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ This file includes several cases separated by different range of -offset
15c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@
16c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@              (-offset) <  0x00
17c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@              (-offset) == 0x00
18c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@     0x04  <= (-offset) <= 0x100
19c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@     0x104 <= (-offset) <= 0x200
20c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@     0x204 <= (-offset)
21c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
22c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
23c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.syntax unified
24c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
25c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
26c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST1
27c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
28c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.section	.TEST1
29c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func1
30c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
31c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func1,%function
32c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
33c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc1:
34c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #0
35c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	fp, sp, #0
36c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	sp, fp, #0
37c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
38c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
39c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
40c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
41c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
42c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
43c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0x9B to copy stack pointer from r11.
44c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
45c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: Section {
46c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   Name: .ARM.extab.TEST1
47c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   SectionData (
48c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:     0000: 00000000 B0B09B00                    |........|
49c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   )
50c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: }
51c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
52c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
53c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
54c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
55c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST2
56c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
57c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.section	.TEST2
58c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func2a
59c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
60c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func2a,%function
61c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
62c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc2a:
63c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #-4
64c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	fp, sp, #4
65c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	sp, fp, #4
66c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
67c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
68c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
69c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
70c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
71c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func2b
72c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
73c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func2b,%function
74c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
75c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc2b:
76c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #-0x100
77c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	fp, sp, #0x100
78c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	sp, fp, #0x100
79c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
80c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
81c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
82c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
83c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
84c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
85c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0x9B to copy stack pointer from r11.
86c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit ((-offset - 4) >> 2) for offset.
87c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
88c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: Section {
89c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   Name: .ARM.extab.TEST2
90c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   SectionData (
91c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:     0000: 00000000 B0009B00 00000000 B03F9B00  |.............?..|
92c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   )
93c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: }
94c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
95c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
96c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
97c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
98c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST3
99c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
100c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.section	.TEST3
101c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func3a
102c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
103c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func3a,%function
104c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
105c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc3a:
106c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #-0x104
107c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	fp, sp, #0x104
108c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	sp, fp, #0x104
109c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
110c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
111c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
112c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
113c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
114c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func3b
115c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
116c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func3b,%function
117c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
118c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc3b:
119c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #-0x200
120c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	fp, sp, #0x200
121c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	sp, fp, #0x200
122c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
123c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
124c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
125c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
126c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
127c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
128c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0x9B to copy stack pointer from r11.
129c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0x3F and ((-offset - 0x104) >> 2) for offset.
130c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
131c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: Section {
132c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   Name: .ARM.extab.TEST3
133c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   SectionData (
13418cba562c8016f8095643b5dd8c4b34b294b62ddLogan Chien@ CHECK:     0000: 00000000 3F009B00 00000000 3F3F9B00  |....?.......??..|
135c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   )
136c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: }
137c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
138c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
139c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
140c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
141c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST4
142c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
143c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.section	.TEST4
144c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func4a
145c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
146c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func4a,%function
147c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
148c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc4a:
149c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #-0x204
150c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	fp, sp, #0x204
151c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	sp, fp, #0x204
152c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
153c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
154c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
155c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
156c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
157c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func4b
158c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
159c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func4b,%function
160c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
161c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc4b:
162c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #-0x580
163c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	fp, sp, #0x580
164c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	sp, fp, #0x580
165c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
166c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
167c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
168c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
169c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
170c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
171c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0x9B to copy stack pointer from r11.
172c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0xB2 and the ULEB128 encoding of
173c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ ((-offset - 0x204) >> 2) for offset.
174c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
175c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: Section {
176c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   Name: .ARM.extab.TEST4
177c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   SectionData (
178c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:     0000: 00000000 00B29B00 00000000 DFB29B01  |................|
179c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:     0010: B0B0B001                             |....|
180c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   )
181c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: }
182c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
183c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
184c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
185c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
186c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST5
187c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
188c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.section	.TEST5
189c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func5a
190c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
191c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func5a,%function
192c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
193c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc5a:
194c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #0x4
195c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	fp, sp, #0x4
196c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	sp, fp, #0x4
197c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
198c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
199c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
200c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
201c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
202c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func5b
203c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
204c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func5b,%function
205c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
206c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc5b:
207c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #0x104
208c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	fp, sp, #0x104
209c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	sp, fp, #0x104
210c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
211c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
212c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
213c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
214c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
215c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.globl	func5c
216c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.align	2
217c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.type	func5c,%function
218c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnstart
219c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc5c:
220c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.setfp	fp, sp, #0x204
221c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	add	fp, sp, #0x204
222c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	sub	sp, fp, #0x204
223c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	bx	lr
224c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.personality __gxx_personality_v0
225c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.handlerdata
226c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien	.fnend
227c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien
228c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
229c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit 0x9B to copy stack pointer from r11.
230c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ The assembler should emit (0x40 | (offset - 4)) >> 2 for offset.
231c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ If (offset - 4) is greater than 0x3f, then multiple 0x7f should be emitted.
232c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@-------------------------------------------------------------------------------
233c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: Section {
234c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   Name: .ARM.extab.TEST5
235c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   SectionData (
23618cba562c8016f8095643b5dd8c4b34b294b62ddLogan Chien@ CHECK:     0000: 00000000 B0409B00 00000000 7F409B00  |.....@.......@..|
23718cba562c8016f8095643b5dd8c4b34b294b62ddLogan Chien@ CHECK:     0010: 00000000 7F409B01 B0B0B07F           |.....@......|
238c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK:   )
239c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: }
240