brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 1f29303 Raw
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# Tests selection for the proper FDE AddrX encoding at the boundaries5# between uint8_t, uint16_t, and uint32_t. The first FRE always fits6# anywhere, because its address-offset is zero. The last FRE7# determines the smallest AddrX it is possible to use.  Align8# functions to 1024 to make it easier to interpet offsets.9 10	.cfi_sections .sframe11 12        .align 102413fde0_uses_addr1:14# CHECK:        FuncDescEntry [0] {15# CHECK:          Start FRE Offset: 0x016# CHECK-NEXT:          Num FREs: 217# CHECK:            FRE Type: Addr1 (0x0)18	.cfi_startproc19# CHECK:        Frame Row Entry {20# CHECK-NEXT:          Start Address: 0x021# CHECK-NEXT:          Return Address Signed: No22# CHECK-NEXT:          Offset Size: B1 (0x0)23# CHECK-NEXT:          Base Register: SP (0x1)24# CHECK-NEXT:          CFA Offset: 825# CHECK-NEXT:          RA Offset: -826# CHECK-NEXT:        }27        .fill 0xFF28	.cfi_def_cfa_offset 1629# CHECK-NEXT:        Frame Row Entry {30# CHECK-NEXT:          Start Address: 0xFF31# CHECK-NEXT:          Return Address Signed: No32# CHECK-NEXT:          Offset Size: B1 (0x0)33# CHECK-NEXT:          Base Register: SP (0x1)34# CHECK-NEXT:          CFA Offset: 1635# CHECK-NEXT:          RA Offset: -836  	nop37        .cfi_endproc38 39        .align 1024	40fde1_uses_addr2:41# CHECK:        FuncDescEntry [1] {42# CHECK:          Start FRE Offset: 0x643# CHECK-NEXT:          Num FREs: 244# CHECK:            FRE Type: Addr2 (0x1)45	.cfi_startproc46# CHECK:        Frame Row Entry {47# CHECK-NEXT:          Start Address: 0x40048        .fill 0xFF + 149	.cfi_def_cfa_offset 1650# CHECK:        Frame Row Entry {51# CHECK-NEXT:          Start Address: 0x50052        .cfi_endproc53 54.align 1024	55fde2_uses_addr2:56# CHECK:        FuncDescEntry [2] {57# CHECK:          Start FRE Offset: 0xE58# CHECK-NEXT:          Num FREs: 259# CHECK:            FRE Type: Addr2 (0x1)60	.cfi_startproc61# CHECK:        Frame Row Entry {62# CHECK-NEXT:          Start Address: 0x80063        .fill 0xFFFF64	.cfi_def_cfa_offset 1665# CHECK:        Frame Row Entry {66# CHECK-NEXT:          Start Address: 0x107FF67	nop68        .cfi_endproc69 70        .align 102471fde3_uses_addr4:72# CHECK:        FuncDescEntry [3] {73# CHECK:          Start FRE Offset: 0x1674# CHECK-NEXT:          Num FREs: 275# CHECK:            FRE Type: Addr4 (0x2)76	.cfi_startproc77# CHECK:        Frame Row Entry {78# CHECK-NEXT:          Start Address: 0x1080079        .fill 0xFFFF + 180# CHECK:        Frame Row Entry {81# CHECK-NEXT:          Start Address: 0x2080082	.cfi_def_cfa_offset 1683	nop84        .cfi_endproc85 86