|
1 | 1 | # RUN: llvm-mc --filetype=obj --gsframe -triple x86_64 %s -o %t.o |
2 | 2 | # RUN: llvm-readelf --sframe %t.o | FileCheck %s |
3 | 3 |
|
4 | | -# Tests that .cfi_escape sequences that are ok to pass through work. |
| 4 | +## Tests that .cfi_escape sequences that are ok to pass through work. |
5 | 5 |
|
6 | 6 | .align 1024 |
7 | 7 | cfi_escape_ok: |
8 | | - .cfi_startproc |
9 | | - .long 0 |
10 | | - .cfi_def_cfa_offset 16 |
11 | | - # Uninteresting register |
12 | | -# DW_CFA_expression,reg 0xc,length 2,DW_OP_breg6,SLEB(-8) |
13 | | - .cfi_escape 0x10,0xc,0x2,0x76,0x78 |
14 | | -# DW_CFA_nop |
15 | | - .cfi_escape 0x0 |
16 | | - .cfi_escape 0x0,0x0,0x0,0x0 |
17 | | - # Uninteresting register |
18 | | -# DW_CFA_val_offset,reg 0xc,ULEB scaled offset |
19 | | - .cfi_escape 0x14,0xc,0x4 |
20 | | - .long 0 |
21 | | - .cfi_endproc |
| 8 | + .cfi_startproc |
| 9 | + .long 0 |
| 10 | + .cfi_def_cfa_offset 16 |
| 11 | + ## Uninteresting register |
| 12 | +## DW_CFA_expression,reg 0xc,length 2,DW_OP_breg6,SLEB(-8) |
| 13 | + .cfi_escape 0x10,0xc,0x2,0x76,0x78 |
| 14 | +## DW_CFA_nop |
| 15 | + .cfi_escape 0x0 |
| 16 | + .cfi_escape 0x0,0x0,0x0,0x0 |
| 17 | + ## Uninteresting register |
| 18 | +## DW_CFA_val_offset,reg 0xc,ULEB scaled offset |
| 19 | + .cfi_escape 0x14,0xc,0x4 |
| 20 | + .long 0 |
| 21 | + .cfi_endproc |
22 | 22 |
|
23 | 23 | cfi_escape_gnu_args_fp: |
24 | | - .cfi_startproc |
25 | | - .long 0 |
26 | | -# DW_CFA_GNU_args_size is OK if arg size is zero |
27 | | - .cfi_escape 0x2e, 0x0 |
28 | | - .long 0 |
29 | | - .cfi_def_cfa_register 6 |
30 | | - .long 0 |
31 | | -# DW_CFA_GNU_args_size is OK if cfa is FP |
32 | | - .cfi_escape 0x2e, 0x20 |
33 | | - .cfi_endproc |
| 24 | + .cfi_startproc |
| 25 | + .long 0 |
| 26 | +## DW_CFA_GNU_args_size is OK if arg size is zero |
| 27 | + .cfi_escape 0x2e, 0x0 |
| 28 | + .long 0 |
| 29 | + .cfi_def_cfa_register 6 |
| 30 | + .long 0 |
| 31 | +## DW_CFA_GNU_args_size is OK if cfa is FP |
| 32 | + .cfi_escape 0x2e, 0x20 |
| 33 | + .cfi_endproc |
34 | 34 |
|
35 | 35 | cfi_escape_long_expr: |
36 | | - .cfi_startproc |
37 | | - .long 0 |
38 | | - .cfi_def_cfa_offset 16 |
39 | | -# This is a long, but valid, dwarf expression without sframe |
40 | | -# implications. An FDE can still be created. |
41 | | -# DW_CFA_val_offset,rcx,ULEB scaled offset(16), DW_CFA_expr,r10,length,DW_OP_deref,SLEB(-8) |
42 | | - .cfi_escape 0x14,0x2,0x2,0x10,0xa,0x2,0x76,0x78 |
43 | | - .long 0 |
44 | | - .cfi_endproc |
| 36 | + .cfi_startproc |
| 37 | + .long 0 |
| 38 | + .cfi_def_cfa_offset 16 |
| 39 | +## This is a long, but valid, dwarf expression without sframe |
| 40 | +## implications. An FDE can still be created. |
| 41 | +## DW_CFA_val_offset,rcx,ULEB scaled offset(16), DW_CFA_expr,r10,length,DW_OP_deref,SLEB(-8) |
| 42 | + .cfi_escape 0x14,0x2,0x2,0x10,0xa,0x2,0x76,0x78 |
| 43 | + .long 0 |
| 44 | + .cfi_endproc |
45 | 45 |
|
46 | 46 | # CHECK: Num FDEs: 3 |
0 commit comments