Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / ELF / AArch64 / cfi.s
blob033c8d9c0409429844be6471bee5ae5031dc3566
1 // RUN: llvm-mc -triple aarch64 %s | FileCheck %s --check-prefix=ASM
2 // RUN: llvm-mc -filetype=obj -triple aarch64-linux-android %s -o - | llvm-readobj -S --sr --sd - | FileCheck %s
3 // RUN: not llvm-mc -triple=aarch64 -o - -defsym=ERR=1 %s 2>&1 | FileCheck %s --check-prefix=ERR
5 // ASM: .cfi_lsda 3, bar
6 // ASM-NEXT: nop
7 // ASM: .cfi_personality 0, foo
8 // ASM-NEXT: .cfi_lsda 3, bar
10 f1:
11 .cfi_startproc
12 .cfi_b_key_frame
13 .cfi_lsda 0x3, bar
14 nop
15 .cfi_endproc
17 f2:
18 .cfi_startproc
19 .cfi_personality 0x00, foo
20 .cfi_lsda 0x3, bar
21 nop
22 .cfi_endproc
24 f3:
25 .cfi_startproc
26 .cfi_lsda 0x3, bar
27 .cfi_mte_tagged_frame
28 nop
29 .cfi_endproc
31 f4:
32 .cfi_startproc
33 .cfi_personality 0x00, foo
34 .cfi_lsda 0x2, bar
35 nop
36 .cfi_endproc
38 f5:
39 .cfi_startproc
40 .cfi_personality 0x02, foo
41 nop
42 .cfi_endproc
44 f6:
45 .cfi_startproc
46 .cfi_personality 0x03, foo
47 nop
48 .cfi_endproc
50 f7:
51 .cfi_startproc
52 .cfi_personality 0x04, foo
53 nop
54 .cfi_endproc
56 f8:
57 .cfi_startproc
58 .cfi_personality 0x0a, foo
59 nop
60 .cfi_endproc
62 f9:
63 .cfi_startproc
64 .cfi_personality 0x0b, foo
65 nop
66 .cfi_endproc
68 f10:
69 .cfi_startproc
70 .cfi_personality 0x0c, foo
71 nop
72 .cfi_endproc
74 f11:
75 .cfi_startproc
76 .cfi_personality 0x08, foo
77 nop
78 .cfi_endproc
80 f12:
81 .cfi_startproc
82 .cfi_personality 0x10, foo
83 nop
84 .cfi_endproc
86 f13:
87 .cfi_startproc
88 .cfi_personality 0x12, foo
89 nop
90 .cfi_endproc
92 f14:
93 .cfi_startproc
94 .cfi_personality 0x13, foo
95 nop
96 .cfi_endproc
98 f15:
99 .cfi_startproc
100 .cfi_personality 0x14, foo
102 .cfi_endproc
104 f16:
105 .cfi_startproc
106 .cfi_personality 0x1a, foo
108 .cfi_endproc
110 f17:
111 .cfi_startproc
112 .cfi_personality 0x1b, foo
114 .cfi_endproc
116 f18:
117 .cfi_startproc
118 .cfi_personality 0x1c, foo
120 .cfi_endproc
122 f19:
123 .cfi_startproc
124 .cfi_personality 0x18, foo
126 .cfi_endproc
128 f20:
129 .cfi_startproc
130 .cfi_personality 0x80, foo
132 .cfi_endproc
134 f21:
135 .cfi_startproc
136 .cfi_personality 0x82, foo
138 .cfi_endproc
140 f22:
141 .cfi_startproc
142 .cfi_personality 0x83, foo
144 .cfi_endproc
146 f23:
147 .cfi_startproc
148 .cfi_personality 0x84, foo
150 .cfi_endproc
152 f24:
153 .cfi_startproc
154 .cfi_personality 0x8a, foo
156 .cfi_endproc
158 f25:
159 .cfi_startproc
160 .cfi_personality 0x8b, foo
162 .cfi_endproc
164 f26:
165 .cfi_startproc
166 .cfi_personality 0x8c, foo
168 .cfi_endproc
170 f27:
171 .cfi_startproc
172 .cfi_personality 0x88, foo
174 .cfi_endproc
176 f28:
177 .cfi_startproc
178 .cfi_personality 0x90, foo
180 .cfi_endproc
182 f29:
183 .cfi_startproc
184 .cfi_personality 0x92, foo
186 .cfi_endproc
188 f30:
189 .cfi_startproc
190 .cfi_personality 0x93, foo
192 .cfi_endproc
194 f31:
195 .cfi_startproc
196 .cfi_personality 0x94, foo
198 .cfi_endproc
200 f32:
201 .cfi_startproc
202 .cfi_personality 0x9a, foo
204 .cfi_endproc
206 f33:
207 .cfi_startproc
208 .cfi_personality 0x9b, foo
210 .cfi_endproc
212 f34:
213 .cfi_startproc
214 .cfi_personality 0x9c, foo
216 .cfi_endproc
218 f36:
219 .cfi_startproc
220 .cfi_personality 0x98, foo
222 .cfi_endproc
224 f37:
225 .cfi_startproc simple
227 .cfi_endproc
229 // CHECK: Section {
230 // CHECK: Name: .eh_frame (20)
231 // CHECK-NEXT: Type: SHT_PROGBITS (0x1)
232 // CHECK-NEXT: Flags [ (0x2)
233 // CHECK-NEXT: SHF_ALLOC (0x2)
234 // CHECK-NEXT: ]
235 // CHECK-NEXT: Address: 0x0
236 // CHECK-NEXT: Offset: 0xD0
237 // CHECK-NEXT: Size: 1760
238 // CHECK-NEXT: Link: 0
239 // CHECK-NEXT: Info: 0
240 // CHECK-NEXT: AddressAlignment: 8
241 // CHECK-NEXT: EntrySize: 0
242 // CHECK-NEXT: Relocations [
243 // CHECK-NEXT: ]
244 // CHECK-NEXT: SectionData (
245 // CHECK-NEXT: 0000: 10000000 00000000 017A5200 017C1E01 |.........zR..|..|
246 // CHECK-NEXT: 0010: 1B000000 10000000 18000000 00000000 |................|
247 // CHECK-NEXT: 0020: 04000000 00000000 14000000 00000000 |................|
248 // CHECK-NEXT: 0030: 017A4C52 4700017C 1E02031B 0C1F0000 |.zLRG..|........|
249 // CHECK-NEXT: 0040: 14000000 1C000000 00000000 04000000 |................|
250 // CHECK-NEXT: 0050: 04000000 00000000 14000000 00000000 |................|
251 // CHECK-NEXT: 0060: 017A4C52 4200017C 1E02031B 0C1F0000 |.zLRB..|........|
252 // CHECK-NEXT: 0070: 14000000 1C000000 00000000 04000000 |................|
253 // CHECK-NEXT: 0080: 04000000 00000000 1C000000 00000000 |................|
254 // CHECK-NEXT: 0090: 017A504C 5200017C 1E0B0000 00000000 |.zPLR..|........|
255 // CHECK-NEXT: 00A0: 00000002 1B0C1F00 10000000 24000000 |............$...|
256 // CHECK-NEXT: 00B0: 00000000 04000000 02000000 1C000000 |................|
257 // CHECK-NEXT: 00C0: 00000000 017A504C 5200017C 1E0B0000 |.....zPLR..|....|
258 // CHECK-NEXT: 00D0: 00000000 00000003 1B0C1F00 14000000 |................|
259 // CHECK-NEXT: 00E0: 24000000 00000000 04000000 04000000 |$...............|
260 // CHECK-NEXT: 00F0: 00000000 14000000 00000000 017A5052 |.............zPR|
261 // CHECK-NEXT: 0100: 00017C1E 04020000 1B0C1F00 10000000 |..|.............|
262 // CHECK-NEXT: 0110: 1C000000 00000000 04000000 00000000 |................|
263 // CHECK-NEXT: 0120: 18000000 00000000 017A5052 00017C1E |.........zPR..|.|
264 // CHECK-NEXT: 0130: 06030000 00001B0C 1F000000 10000000 |................|
265 // CHECK-NEXT: 0140: 20000000 00000000 04000000 00000000 | ...............|
266 // CHECK-NEXT: 0150: 1C000000 00000000 017A5052 00017C1E |.........zPR..|.|
267 // CHECK-NEXT: 0160: 0A040000 00000000 00001B0C 1F000000 |................|
268 // CHECK-NEXT: 0170: 10000000 24000000 00000000 04000000 |....$...........|
269 // CHECK-NEXT: 0180: 00000000 1C000000 00000000 017A5052 |.............zPR|
270 // CHECK-NEXT: 0190: 00017C1E 0A080000 00000000 00001B0C |..|.............|
271 // CHECK-NEXT: 01A0: 1F000000 10000000 24000000 00000000 |........$.......|
272 // CHECK-NEXT: 01B0: 04000000 00000000 14000000 00000000 |................|
273 // CHECK-NEXT: 01C0: 017A5052 00017C1E 040A0000 1B0C1F00 |.zPR..|.........|
274 // CHECK-NEXT: 01D0: 10000000 1C000000 00000000 04000000 |................|
275 // CHECK-NEXT: 01E0: 00000000 18000000 00000000 017A5052 |.............zPR|
276 // CHECK-NEXT: 01F0: 00017C1E 060B0000 00001B0C 1F000000 |..|.............|
277 // CHECK-NEXT: 0200: 10000000 20000000 00000000 04000000 |.... ...........|
278 // CHECK-NEXT: 0210: 00000000 1C000000 00000000 017A5052 |.............zPR|
279 // CHECK-NEXT: 0220: 00017C1E 0A0C0000 00000000 00001B0C |..|.............|
280 // CHECK-NEXT: 0230: 1F000000 10000000 24000000 00000000 |........$.......|
281 // CHECK-NEXT: 0240: 04000000 00000000 1C000000 00000000 |................|
282 // CHECK-NEXT: 0250: 017A5052 00017C1E 0A100000 00000000 |.zPR..|.........|
283 // CHECK-NEXT: 0260: 00001B0C 1F000000 10000000 24000000 |............$...|
284 // CHECK-NEXT: 0270: 00000000 04000000 00000000 14000000 |................|
285 // CHECK-NEXT: 0280: 00000000 017A5052 00017C1E 04120000 |.....zPR..|.....|
286 // CHECK-NEXT: 0290: 1B0C1F00 10000000 1C000000 00000000 |................|
287 // CHECK-NEXT: 02A0: 04000000 00000000 18000000 00000000 |................|
288 // CHECK-NEXT: 02B0: 017A5052 00017C1E 06130000 00001B0C |.zPR..|.........|
289 // CHECK-NEXT: 02C0: 1F000000 10000000 20000000 00000000 |........ .......|
290 // CHECK-NEXT: 02D0: 04000000 00000000 1C000000 00000000 |................|
291 // CHECK-NEXT: 02E0: 017A5052 00017C1E 0A140000 00000000 |.zPR..|.........|
292 // CHECK-NEXT: 02F0: 00001B0C 1F000000 10000000 24000000 |............$...|
293 // CHECK-NEXT: 0300: 00000000 04000000 00000000 1C000000 |................|
294 // CHECK-NEXT: 0310: 00000000 017A5052 00017C1E 0A180000 |.....zPR..|.....|
295 // CHECK-NEXT: 0320: 00000000 00001B0C 1F000000 10000000 |................|
296 // CHECK-NEXT: 0330: 24000000 00000000 04000000 00000000 |$...............|
297 // CHECK-NEXT: 0340: 14000000 00000000 017A5052 00017C1E |.........zPR..|.|
298 // CHECK-NEXT: 0350: 041A0000 1B0C1F00 10000000 1C000000 |................|
299 // CHECK-NEXT: 0360: 00000000 04000000 00000000 18000000 |................|
300 // CHECK-NEXT: 0370: 00000000 017A5052 00017C1E 061B0000 |.....zPR..|.....|
301 // CHECK-NEXT: 0380: 00001B0C 1F000000 10000000 20000000 |............ ...|
302 // CHECK-NEXT: 0390: 00000000 04000000 00000000 1C000000 |................|
303 // CHECK-NEXT: 03A0: 00000000 017A5052 00017C1E 0A1C0000 |.....zPR..|.....|
304 // CHECK-NEXT: 03B0: 00000000 00001B0C 1F000000 10000000 |................|
305 // CHECK-NEXT: 03C0: 24000000 00000000 04000000 00000000 |$...............|
306 // CHECK-NEXT: 03D0: 1C000000 00000000 017A5052 00017C1E |.........zPR..|.|
307 // CHECK-NEXT: 03E0: 0A800000 00000000 00001B0C 1F000000 |................|
308 // CHECK-NEXT: 03F0: 10000000 24000000 00000000 04000000 |....$...........|
309 // CHECK-NEXT: 0400: 00000000 14000000 00000000 017A5052 |.............zPR|
310 // CHECK-NEXT: 0410: 00017C1E 04820000 1B0C1F00 10000000 |..|.............|
311 // CHECK-NEXT: 0420: 1C000000 00000000 04000000 00000000 |................|
312 // CHECK-NEXT: 0430: 18000000 00000000 017A5052 00017C1E |.........zPR..|.|
313 // CHECK-NEXT: 0440: 06830000 00001B0C 1F000000 10000000 |................|
314 // CHECK-NEXT: 0450: 20000000 00000000 04000000 00000000 | ...............|
315 // CHECK-NEXT: 0460: 1C000000 00000000 017A5052 00017C1E |.........zPR..|.|
316 // CHECK-NEXT: 0470: 0A840000 00000000 00001B0C 1F000000 |................|
317 // CHECK-NEXT: 0480: 10000000 24000000 00000000 04000000 |....$...........|
318 // CHECK-NEXT: 0490: 00000000 1C000000 00000000 017A5052 |.............zPR|
319 // CHECK-NEXT: 04A0: 00017C1E 0A880000 00000000 00001B0C |..|.............|
320 // CHECK-NEXT: 04B0: 1F000000 10000000 24000000 00000000 |........$.......|
321 // CHECK-NEXT: 04C0: 04000000 00000000 14000000 00000000 |................|
322 // CHECK-NEXT: 04D0: 017A5052 00017C1E 048A0000 1B0C1F00 |.zPR..|.........|
323 // CHECK-NEXT: 04E0: 10000000 1C000000 00000000 04000000 |................|
324 // CHECK-NEXT: 04F0: 00000000 18000000 00000000 017A5052 |.............zPR|
325 // CHECK-NEXT: 0500: 00017C1E 068B0000 00001B0C 1F000000 |..|.............|
326 // CHECK-NEXT: 0510: 10000000 20000000 00000000 04000000 |.... ...........|
327 // CHECK-NEXT: 0520: 00000000 1C000000 00000000 017A5052 |.............zPR|
328 // CHECK-NEXT: 0530: 00017C1E 0A8C0000 00000000 00001B0C |..|.............|
329 // CHECK-NEXT: 0540: 1F000000 10000000 24000000 00000000 |........$.......|
330 // CHECK-NEXT: 0550: 04000000 00000000 1C000000 00000000 |................|
331 // CHECK-NEXT: 0560: 017A5052 00017C1E 0A900000 00000000 |.zPR..|.........|
332 // CHECK-NEXT: 0570: 00001B0C 1F000000 10000000 24000000 |............$...|
333 // CHECK-NEXT: 0580: 00000000 04000000 00000000 14000000 |................|
334 // CHECK-NEXT: 0590: 00000000 017A5052 00017C1E 04920000 |.....zPR..|.....|
335 // CHECK-NEXT: 05A0: 1B0C1F00 10000000 1C000000 00000000 |................|
336 // CHECK-NEXT: 05B0: 04000000 00000000 18000000 00000000 |................|
337 // CHECK-NEXT: 05C0: 017A5052 00017C1E 06930000 00001B0C |.zPR..|.........|
338 // CHECK-NEXT: 05D0: 1F000000 10000000 20000000 00000000 |........ .......|
339 // CHECK-NEXT: 05E0: 04000000 00000000 1C000000 00000000 |................|
340 // CHECK-NEXT: 05F0: 017A5052 00017C1E 0A940000 00000000 |.zPR..|.........|
341 // CHECK-NEXT: 0600: 00001B0C 1F000000 10000000 24000000 |............$...|
342 // CHECK-NEXT: 0610: 00000000 04000000 00000000 1C000000 |................|
343 // CHECK-NEXT: 0620: 00000000 017A5052 00017C1E 0A980000 |.....zPR..|.....|
344 // CHECK-NEXT: 0630: 00000000 00001B0C 1F000000 10000000 |................|
345 // CHECK-NEXT: 0640: 24000000 00000000 04000000 00000000 |$...............|
346 // CHECK-NEXT: 0650: 14000000 00000000 017A5052 00017C1E |.........zPR..|.|
347 // CHECK-NEXT: 0660: 049A0000 1B0C1F00 10000000 1C000000 |................|
348 // CHECK-NEXT: 0670: 00000000 04000000 00000000 18000000 |................|
349 // CHECK-NEXT: 0680: 00000000 017A5052 00017C1E 069B0000 |.....zPR..|.....|
350 // CHECK-NEXT: 0690: 00001B0C 1F000000 10000000 20000000 |............ ...|
351 // CHECK-NEXT: 06A0: 00000000 04000000 00000000 1C000000 |................|
352 // CHECK-NEXT: 06B0: 00000000 017A5052 00017C1E 0A9C0000 |.....zPR..|.....|
353 // CHECK-NEXT: 06C0: 00000000 00001B0C 1F000000 10000000 |................|
354 // CHECK-NEXT: 06D0: 24000000 00000000 04000000 00000000 |$...............|
355 // CHECK-NEXT: )
356 // CHECK-NEXT: }
357 // CHECK: Section {
358 // CHECK: Name: .rela.eh_frame (15)
359 // CHECK-NEXT: Type: SHT_RELA (0x4)
360 // CHECK-NEXT: Flags [ (0x40)
361 // CHECK-NEXT: SHF_INFO_LINK (0x40)
362 // CHECK-NEXT: ]
363 // CHECK-NEXT: Address: 0x0
364 // CHECK-NEXT: Offset: 0xBA0
365 // CHECK-NEXT: Size: 1752
366 // CHECK-NEXT: Link: 5
367 // CHECK-NEXT: Info: 3
368 // CHECK-NEXT: AddressAlignment: 8
369 // CHECK-NEXT: EntrySize: 24
370 // CHECK-NEXT: Relocations [
371 // CHECK-NEXT: 0x1C R_AARCH64_PREL32 .text 0x8C
372 // CHECK-NEXT: 0x48 R_AARCH64_PREL32 .text 0x8
373 // CHECK-NEXT: 0x51 R_AARCH64_ABS32 bar 0x0
374 // CHECK-NEXT: 0x78 R_AARCH64_PREL32 .text 0x0
375 // CHECK-NEXT: 0x81 R_AARCH64_ABS32 bar 0x0
376 // CHECK-NEXT: 0x9B R_AARCH64_ABS64 foo 0x0
377 // CHECK-NEXT: 0xB0 R_AARCH64_PREL32 .text 0xC
378 // CHECK-NEXT: 0xB9 R_AARCH64_ABS16 bar 0x0
379 // CHECK-NEXT: 0xCF R_AARCH64_ABS64 foo 0x0
380 // CHECK-NEXT: 0xE4 R_AARCH64_PREL32 .text 0x4
381 // CHECK-NEXT: 0xED R_AARCH64_ABS32 bar 0x0
382 // CHECK-NEXT: 0x106 R_AARCH64_ABS16 foo 0x0
383 // CHECK-NEXT: 0x114 R_AARCH64_PREL32 .text 0x10
384 // CHECK-NEXT: 0x132 R_AARCH64_ABS32 foo 0x0
385 // CHECK-NEXT: 0x144 R_AARCH64_PREL32 .text 0x14
386 // CHECK-NEXT: 0x162 R_AARCH64_ABS64 foo 0x0
387 // CHECK-NEXT: 0x178 R_AARCH64_PREL32 .text 0x18
388 // CHECK-NEXT: 0x196 R_AARCH64_ABS64 foo 0x0
389 // CHECK-NEXT: 0x1AC R_AARCH64_PREL32 .text 0x28
390 // CHECK-NEXT: 0x1CA R_AARCH64_ABS16 foo 0x0
391 // CHECK-NEXT: 0x1D8 R_AARCH64_PREL32 .text 0x1C
392 // CHECK-NEXT: 0x1F6 R_AARCH64_ABS32 foo 0x0
393 // CHECK-NEXT: 0x208 R_AARCH64_PREL32 .text 0x20
394 // CHECK-NEXT: 0x226 R_AARCH64_ABS64 foo 0x0
395 // CHECK-NEXT: 0x23C R_AARCH64_PREL32 .text 0x24
396 // CHECK-NEXT: 0x25A R_AARCH64_PREL64 foo 0x0
397 // CHECK-NEXT: 0x270 R_AARCH64_PREL32 .text 0x2C
398 // CHECK-NEXT: 0x28E R_AARCH64_PREL16 foo 0x0
399 // CHECK-NEXT: 0x29C R_AARCH64_PREL32 .text 0x30
400 // CHECK-NEXT: 0x2BA R_AARCH64_PREL32 foo 0x0
401 // CHECK-NEXT: 0x2CC R_AARCH64_PREL32 .text 0x34
402 // CHECK-NEXT: 0x2EA R_AARCH64_PREL64 foo 0x0
403 // CHECK-NEXT: 0x300 R_AARCH64_PREL32 .text 0x38
404 // CHECK-NEXT: 0x31E R_AARCH64_PREL64 foo 0x0
405 // CHECK-NEXT: 0x334 R_AARCH64_PREL32 .text 0x48
406 // CHECK-NEXT: 0x352 R_AARCH64_PREL16 foo 0x0
407 // CHECK-NEXT: 0x360 R_AARCH64_PREL32 .text 0x3C
408 // CHECK-NEXT: 0x37E R_AARCH64_PREL32 foo 0x0
409 // CHECK-NEXT: 0x390 R_AARCH64_PREL32 .text 0x40
410 // CHECK-NEXT: 0x3AE R_AARCH64_PREL64 foo 0x0
411 // CHECK-NEXT: 0x3C4 R_AARCH64_PREL32 .text 0x44
412 // CHECK-NEXT: 0x3E2 R_AARCH64_ABS64 foo 0x0
413 // CHECK-NEXT: 0x3F8 R_AARCH64_PREL32 .text 0x4C
414 // CHECK-NEXT: 0x416 R_AARCH64_ABS16 foo 0x0
415 // CHECK-NEXT: 0x424 R_AARCH64_PREL32 .text 0x50
416 // CHECK-NEXT: 0x442 R_AARCH64_ABS32 foo 0x0
417 // CHECK-NEXT: 0x454 R_AARCH64_PREL32 .text 0x54
418 // CHECK-NEXT: 0x472 R_AARCH64_ABS64 foo 0x0
419 // CHECK-NEXT: 0x488 R_AARCH64_PREL32 .text 0x58
420 // CHECK-NEXT: 0x4A6 R_AARCH64_ABS64 foo 0x0
421 // CHECK-NEXT: 0x4BC R_AARCH64_PREL32 .text 0x68
422 // CHECK-NEXT: 0x4DA R_AARCH64_ABS16 foo 0x0
423 // CHECK-NEXT: 0x4E8 R_AARCH64_PREL32 .text 0x5C
424 // CHECK-NEXT: 0x506 R_AARCH64_ABS32 foo 0x0
425 // CHECK-NEXT: 0x518 R_AARCH64_PREL32 .text 0x60
426 // CHECK-NEXT: 0x536 R_AARCH64_ABS64 foo 0x0
427 // CHECK-NEXT: 0x54C R_AARCH64_PREL32 .text 0x64
428 // CHECK-NEXT: 0x56A R_AARCH64_PREL64 foo 0x0
429 // CHECK-NEXT: 0x580 R_AARCH64_PREL32 .text 0x6C
430 // CHECK-NEXT: 0x59E R_AARCH64_PREL16 foo 0x0
431 // CHECK-NEXT: 0x5AC R_AARCH64_PREL32 .text 0x70
432 // CHECK-NEXT: 0x5CA R_AARCH64_PREL32 foo 0x0
433 // CHECK-NEXT: 0x5DC R_AARCH64_PREL32 .text 0x74
434 // CHECK-NEXT: 0x5FA R_AARCH64_PREL64 foo 0x0
435 // CHECK-NEXT: 0x610 R_AARCH64_PREL32 .text 0x78
436 // CHECK-NEXT: 0x62E R_AARCH64_PREL64 foo 0x0
437 // CHECK-NEXT: 0x644 R_AARCH64_PREL32 .text 0x88
438 // CHECK-NEXT: 0x662 R_AARCH64_PREL16 foo 0x0
439 // CHECK-NEXT: 0x670 R_AARCH64_PREL32 .text 0x7C
440 // CHECK-NEXT: 0x68E R_AARCH64_PREL32 foo 0x0
441 // CHECK-NEXT: 0x6A0 R_AARCH64_PREL32 .text 0x80
442 // CHECK-NEXT: 0x6BE R_AARCH64_PREL64 foo 0x0
443 // CHECK-NEXT: 0x6D4 R_AARCH64_PREL32 .text 0x84
444 // CHECK-NEXT: ]
445 // CHECK-NEXT: SectionData (
446 // CHECK-NEXT: 0000: 1C000000 00000000 05010000 01000000 |................|
447 // CHECK-NEXT: 0010: 8C000000 00000000 48000000 00000000 |........H.......|
448 // CHECK-NEXT: 0020: 05010000 01000000 08000000 00000000 |................|
449 // CHECK-NEXT: 0030: 51000000 00000000 02010000 28000000 |Q...........(...|
450 // CHECK-NEXT: 0040: 00000000 00000000 78000000 00000000 |........x.......|
451 // CHECK-NEXT: 0050: 05010000 01000000 00000000 00000000 |................|
452 // CHECK-NEXT: 0060: 81000000 00000000 02010000 28000000 |............(...|
453 // CHECK-NEXT: 0070: 00000000 00000000 9B000000 00000000 |................|
454 // CHECK-NEXT: 0080: 01010000 29000000 00000000 00000000 |....)...........|
455 // CHECK-NEXT: 0090: B0000000 00000000 05010000 01000000 |................|
456 // CHECK-NEXT: 00A0: 0C000000 00000000 B9000000 00000000 |................|
457 // CHECK-NEXT: 00B0: 03010000 28000000 00000000 00000000 |....(...........|
458 // CHECK-NEXT: 00C0: CF000000 00000000 01010000 29000000 |............)...|
459 // CHECK-NEXT: 00D0: 00000000 00000000 E4000000 00000000 |................|
460 // CHECK-NEXT: 00E0: 05010000 01000000 04000000 00000000 |................|
461 // CHECK-NEXT: 00F0: ED000000 00000000 02010000 28000000 |............(...|
462 // CHECK-NEXT: 0100: 00000000 00000000 06010000 00000000 |................|
463 // CHECK-NEXT: 0110: 03010000 29000000 00000000 00000000 |....)...........|
464 // CHECK-NEXT: 0120: 14010000 00000000 05010000 01000000 |................|
465 // CHECK-NEXT: 0130: 10000000 00000000 32010000 00000000 |........2.......|
466 // CHECK-NEXT: 0140: 02010000 29000000 00000000 00000000 |....)...........|
467 // CHECK-NEXT: 0150: 44010000 00000000 05010000 01000000 |D...............|
468 // CHECK-NEXT: 0160: 14000000 00000000 62010000 00000000 |........b.......|
469 // CHECK-NEXT: 0170: 01010000 29000000 00000000 00000000 |....)...........|
470 // CHECK-NEXT: 0180: 78010000 00000000 05010000 01000000 |x...............|
471 // CHECK-NEXT: 0190: 18000000 00000000 96010000 00000000 |................|
472 // CHECK-NEXT: 01A0: 01010000 29000000 00000000 00000000 |....)...........|
473 // CHECK-NEXT: 01B0: AC010000 00000000 05010000 01000000 |................|
474 // CHECK-NEXT: 01C0: 28000000 00000000 CA010000 00000000 |(...............|
475 // CHECK-NEXT: 01D0: 03010000 29000000 00000000 00000000 |....)...........|
476 // CHECK-NEXT: 01E0: D8010000 00000000 05010000 01000000 |................|
477 // CHECK-NEXT: 01F0: 1C000000 00000000 F6010000 00000000 |................|
478 // CHECK-NEXT: 0200: 02010000 29000000 00000000 00000000 |....)...........|
479 // CHECK-NEXT: 0210: 08020000 00000000 05010000 01000000 |................|
480 // CHECK-NEXT: 0220: 20000000 00000000 26020000 00000000 | .......&.......|
481 // CHECK-NEXT: 0230: 01010000 29000000 00000000 00000000 |....)...........|
482 // CHECK-NEXT: 0240: 3C020000 00000000 05010000 01000000 |<...............|
483 // CHECK-NEXT: 0250: 24000000 00000000 5A020000 00000000 |$.......Z.......|
484 // CHECK-NEXT: 0260: 04010000 29000000 00000000 00000000 |....)...........|
485 // CHECK-NEXT: 0270: 70020000 00000000 05010000 01000000 |p...............|
486 // CHECK-NEXT: 0280: 2C000000 00000000 8E020000 00000000 |,...............|
487 // CHECK-NEXT: 0290: 06010000 29000000 00000000 00000000 |....)...........|
488 // CHECK-NEXT: 02A0: 9C020000 00000000 05010000 01000000 |................|
489 // CHECK-NEXT: 02B0: 30000000 00000000 BA020000 00000000 |0...............|
490 // CHECK-NEXT: 02C0: 05010000 29000000 00000000 00000000 |....)...........|
491 // CHECK-NEXT: 02D0: CC020000 00000000 05010000 01000000 |................|
492 // CHECK-NEXT: 02E0: 34000000 00000000 EA020000 00000000 |4...............|
493 // CHECK-NEXT: 02F0: 04010000 29000000 00000000 00000000 |....)...........|
494 // CHECK-NEXT: 0300: 00030000 00000000 05010000 01000000 |................|
495 // CHECK-NEXT: 0310: 38000000 00000000 1E030000 00000000 |8...............|
496 // CHECK-NEXT: 0320: 04010000 29000000 00000000 00000000 |....)...........|
497 // CHECK-NEXT: 0330: 34030000 00000000 05010000 01000000 |4...............|
498 // CHECK-NEXT: 0340: 48000000 00000000 52030000 00000000 |H.......R.......|
499 // CHECK-NEXT: 0350: 06010000 29000000 00000000 00000000 |....)...........|
500 // CHECK-NEXT: 0360: 60030000 00000000 05010000 01000000 |`...............|
501 // CHECK-NEXT: 0370: 3C000000 00000000 7E030000 00000000 |<.......~.......|
502 // CHECK-NEXT: 0380: 05010000 29000000 00000000 00000000 |....)...........|
503 // CHECK-NEXT: 0390: 90030000 00000000 05010000 01000000 |................|
504 // CHECK-NEXT: 03A0: 40000000 00000000 AE030000 00000000 |@...............|
505 // CHECK-NEXT: 03B0: 04010000 29000000 00000000 00000000 |....)...........|
506 // CHECK-NEXT: 03C0: C4030000 00000000 05010000 01000000 |................|
507 // CHECK-NEXT: 03D0: 44000000 00000000 E2030000 00000000 |D...............|
508 // CHECK-NEXT: 03E0: 01010000 29000000 00000000 00000000 |....)...........|
509 // CHECK-NEXT: 03F0: F8030000 00000000 05010000 01000000 |................|
510 // CHECK-NEXT: 0400: 4C000000 00000000 16040000 00000000 |L...............|
511 // CHECK-NEXT: 0410: 03010000 29000000 00000000 00000000 |....)...........|
512 // CHECK-NEXT: 0420: 24040000 00000000 05010000 01000000 |$...............|
513 // CHECK-NEXT: 0430: 50000000 00000000 42040000 00000000 |P.......B.......|
514 // CHECK-NEXT: 0440: 02010000 29000000 00000000 00000000 |....)...........|
515 // CHECK-NEXT: 0450: 54040000 00000000 05010000 01000000 |T...............|
516 // CHECK-NEXT: 0460: 54000000 00000000 72040000 00000000 |T.......r.......|
517 // CHECK-NEXT: 0470: 01010000 29000000 00000000 00000000 |....)...........|
518 // CHECK-NEXT: 0480: 88040000 00000000 05010000 01000000 |................|
519 // CHECK-NEXT: 0490: 58000000 00000000 A6040000 00000000 |X...............|
520 // CHECK-NEXT: 04A0: 01010000 29000000 00000000 00000000 |....)...........|
521 // CHECK-NEXT: 04B0: BC040000 00000000 05010000 01000000 |................|
522 // CHECK-NEXT: 04C0: 68000000 00000000 DA040000 00000000 |h...............|
523 // CHECK-NEXT: 04D0: 03010000 29000000 00000000 00000000 |....)...........|
524 // CHECK-NEXT: 04E0: E8040000 00000000 05010000 01000000 |................|
525 // CHECK-NEXT: 04F0: 5C000000 00000000 06050000 00000000 |\...............|
526 // CHECK-NEXT: 0500: 02010000 29000000 00000000 00000000 |....)...........|
527 // CHECK-NEXT: 0510: 18050000 00000000 05010000 01000000 |................|
528 // CHECK-NEXT: 0520: 60000000 00000000 36050000 00000000 |`.......6.......|
529 // CHECK-NEXT: 0530: 01010000 29000000 00000000 00000000 |....)...........|
530 // CHECK-NEXT: 0540: 4C050000 00000000 05010000 01000000 |L...............|
531 // CHECK-NEXT: 0550: 64000000 00000000 6A050000 00000000 |d.......j.......|
532 // CHECK-NEXT: 0560: 04010000 29000000 00000000 00000000 |....)...........|
533 // CHECK-NEXT: 0570: 80050000 00000000 05010000 01000000 |................|
534 // CHECK-NEXT: 0580: 6C000000 00000000 9E050000 00000000 |l...............|
535 // CHECK-NEXT: 0590: 06010000 29000000 00000000 00000000 |....)...........|
536 // CHECK-NEXT: 05A0: AC050000 00000000 05010000 01000000 |................|
537 // CHECK-NEXT: 05B0: 70000000 00000000 CA050000 00000000 |p...............|
538 // CHECK-NEXT: 05C0: 05010000 29000000 00000000 00000000 |....)...........|
539 // CHECK-NEXT: 05D0: DC050000 00000000 05010000 01000000 |................|
540 // CHECK-NEXT: 05E0: 74000000 00000000 FA050000 00000000 |t...............|
541 // CHECK-NEXT: 05F0: 04010000 29000000 00000000 00000000 |....)...........|
542 // CHECK-NEXT: 0600: 10060000 00000000 05010000 01000000 |................|
543 // CHECK-NEXT: 0610: 78000000 00000000 2E060000 00000000 |x...............|
544 // CHECK-NEXT: 0620: 04010000 29000000 00000000 00000000 |....)...........|
545 // CHECK-NEXT: 0630: 44060000 00000000 05010000 01000000 |D...............|
546 // CHECK-NEXT: 0640: 88000000 00000000 62060000 00000000 |........b.......|
547 // CHECK-NEXT: 0650: 06010000 29000000 00000000 00000000 |....)...........|
548 // CHECK-NEXT: 0660: 70060000 00000000 05010000 01000000 |p...............|
549 // CHECK-NEXT: 0670: 7C000000 00000000 8E060000 00000000 ||...............|
550 // CHECK-NEXT: 0680: 05010000 29000000 00000000 00000000 |....)...........|
551 // CHECK-NEXT: 0690: A0060000 00000000 05010000 01000000 |................|
552 // CHECK-NEXT: 06A0: 80000000 00000000 BE060000 00000000 |................|
553 // CHECK-NEXT: 06B0: 04010000 29000000 00000000 00000000 |....)...........|
554 // CHECK-NEXT: 06C0: D4060000 00000000 05010000 01000000 |................|
555 // CHECK-NEXT: 06D0: 84000000 00000000 |........|
556 // CHECK-NEXT: )
557 // CHECK-NEXT: }
559 .ifdef ERR
560 // ERR: [[#@LINE+1]]:15: error: expected .eh_frame or .debug_frame
561 .cfi_sections $
562 // ERR: [[#@LINE+1]]:28: error: expected comma
563 .cfi_sections .debug_frame $
564 // ERR: [[#@LINE+1]]:39: error: expected comma
565 .cfi_sections .debug_frame, .eh_frame $
567 // ERR: [[#@LINE+1]]:16: error: unexpected token
568 .cfi_startproc $
569 // ERR: [[#@LINE+1]]:23: error: expected newline
570 .cfi_startproc simple $
572 // ERR: [[#@LINE+1]]:14: error: expected newline
573 .cfi_endproc $
574 .endif