59 lines · plain
1# RUN: llvm-mc -triple x86_64-unknown-unknown %s --validate-cfi --filetype=null 2>&1 | FileCheck %s 2## TODO: Should check no warnings are emitted but for now, the tool is naive and emitting warnings for every change.3# RUN: llvm-mc -triple x86_64-unknown-unknown %s --filetype=asm 2>&1 | FileCheck %s -check-prefix=ASSEMBLER --implicit-check-not warning: --implicit-check-not error:4# ASSEMBLER: .text5 .text6 .type _start,@function7 .globl _start8 .hidden _start9_start:10 .cfi_startproc11 12 .cfi_same_value %rdi13 .cfi_same_value %rsi14 15 pushq %rbp16 # CHECK: warning: CFA offset is changed from 8 to 16, and CFA register RSP is modified, but validating the modification amount is not implemented yet17 # CHECK: warning: validating changes happening to register RBP unwinding rule structure is not implemented yet18 .cfi_adjust_cfa_offset 819 .cfi_offset %rbp, -1620 21 movq %rsp, %rbp22 23 pushq %rdi24 # CHECK: warning: CFA offset is changed from 16 to 24, and CFA register RSP is modified, but validating the modification amount is not implemented yet25 # CHECK: warning: validating changes happening to register RDI unwinding rule structure is not implemented yet26 .cfi_adjust_cfa_offset 827 .cfi_rel_offset %rdi, 028 29 pushq %rsi30 # CHECK: warning: CFA offset is changed from 24 to 32, and CFA register RSP is modified, but validating the modification amount is not implemented yet31 # CHECK: warning: validating changes happening to register RSI unwinding rule structure is not implemented yet32 .cfi_adjust_cfa_offset 833 .cfi_rel_offset %rsi, 034 35 popq %rsi36 # CHECK: warning: CFA offset is changed from 32 to 24, and CFA register RSP is modified, but validating the modification amount is not implemented yet37 # CHECK: warning: validating changes happening to register RSI unwinding rule structure is not implemented yet38 .cfi_adjust_cfa_offset -839 .cfi_same_value %rsi40 41 popq %rdi42 # CHECK: warning: CFA offset is changed from 24 to 16, and CFA register RSP is modified, but validating the modification amount is not implemented yet43 # CHECK: warning: validating changes happening to register RDI unwinding rule structure is not implemented yet44 .cfi_adjust_cfa_offset -845 .cfi_same_value %rdi46 47 popq %rbp48 # CHECK: warning: CFA offset is changed from 16 to 8, and CFA register RSP is modified, but validating the modification amount is not implemented yet49 # CHECK: warning: validating changes happening to register RBP unwinding rule structure is not implemented yet50 .cfi_adjust_cfa_offset -851 .cfi_same_value %rbp52 53 retq54 55 .cfi_endproc56.Ltmp0:57 .size _start, .Ltmp0-_start58 .text59