86 lines · plain
1# RUN: llvm-mc --filetype=obj --gsframe -triple x86_64 %s -o %t.o2# RUN: llvm-readelf --sframe %t.o | FileCheck %s3 4 .cfi_sections .sframe5f0:6 .cfi_startproc # FRE 07 nop8 .cfi_def_cfa_offset 16 # FRE 1 9 .cfi_def_cfa_offset 8 # location didn't change. No new FRE, but new offset.10 nop11 .cfi_def_cfa_offset 8 # offset didn't change. No new FRE.12 nop13 .cfi_def_cfa_offset 16 # FRE 2. new location, new offset.14 nop15 .cfi_register 0, 1 # Uninteresting register. No new FRE.16 nop17 18 .cfi_endproc19 20f1:21 .cfi_startproc22 nop23 nop24 .cfi_endproc25 26f2:27 .cfi_startproc28 .cfi_endproc29 30f3:31 .cfi_startproc simple32 .cfi_endproc33 34# CHECK: SFrame section '.sframe' {35# CHECK-NEXT: Header {36# CHECK-NEXT: Magic: 0xDEE237# CHECK-NEXT: Version: V2 (0x2)38# CHECK-NEXT: Flags [ (0x4)39# CHECK: ABI: AMD64EndianLittle (0x3)40# CHECK-NEXT: CFA fixed FP offset (unused): 041# CHECK-NEXT: CFA fixed RA offset: -842# CHECK-NEXT: Auxiliary header length: 043# CHECK-NEXT: Num FDEs: 244# CHECK-NEXT: Num FREs: 445# CHECK-NEXT: FRE subsection length: 1246# CHECK-NEXT: FDE subsection offset: 047# CHECK-NEXT: FRE subsection offset: 4048# CHECK: Function Index [49# CHECK-NEXT: FuncDescEntry [0] {50# CHECK-NEXT: PC {51# CHECK-NEXT: Relocation: {{.*}}PC32{{.*}}52# CHECK-NEXT: Symbol Name: .text53# CHECK-NEXT: Start Address: {{.*}}54# CHECK-NEXT: }55# CHECK-NEXT: Size: 0x556# CHECK-NEXT: Start FRE Offset: 0x057# CHECK-NEXT: Num FREs: 358# CHECK-NEXT: Info {59# CHECK-NEXT: FRE Type: Addr1 (0x0)60# CHECK-NEXT: FDE Type: PCInc (0x0)61# CHECK-NEXT: Raw: 0x062# CHECK-NEXT: }63# CHECK-NEXT: Repetitive block size (unused): 0x064# CHECK-NEXT: Padding2: 0x065 66# Contents of FREs are tested elsewhere67 68# CHECK: FuncDescEntry [1] {69# CHECK-NEXT: PC {70# CHECK-NEXT: Relocation: {{.*}}PC32{{.*}}71# CHECK-NEXT: Symbol Name: .text72# CHECK-NEXT: Start Address: {{.*}}73# CHECK-NEXT: }74# CHECK-NEXT: Size: 0x275# CHECK-NEXT: Start FRE Offset: 0x976# CHECK-NEXT: Num FREs: 177# CHECK-NEXT: Info {78# CHECK-NEXT: FRE Type: Addr1 (0x0)79# CHECK-NEXT: FDE Type: PCInc (0x0)80# CHECK-NEXT: Raw: 0x081# CHECK-NEXT: }82# CHECK-NEXT: Repetitive block size (unused): 0x083# CHECK-NEXT: Padding2: 0x084 85 86