1# The test verifies that correct DWARF directives are emitted when 2# assembly files are instrumented. 3 4# RUN: llvm-mc %s -triple=i386-unknown-linux-gnu -asm-instrumentation=address -asan-instrument-assembly | FileCheck %s 5 6# CHECK-LABEL: load4b_cfa_rbp 7# CHECK: pushl %ebx 8# CHECK-NOT: .cfi_adjust_cfa_offset 8 9# CHECK: movl %ebp, %ebx 10# CHECK: .cfi_remember_state 11# CHECK: .cfi_def_cfa_register %ebx 12# CHECK: popl %ebx 13# CHECK: .cfi_restore_state 14# CHECK-NOT: .cfi_adjust_cfa_offset -8 15# CHECK: retl 16 17 .text 18 .globl load4b_cfa_rbp 19 .type load4b_cfa_rbp,@function 20swap_cfa_rbp: # @swap_cfa_rbp 21 .cfi_startproc 22 pushl %ebp 23 .cfi_def_cfa_offset 8 24 .cfi_offset %ebp, -8 25 movl %esp, %ebp 26 .cfi_def_cfa_register %ebp 27 movl 8(%ebp), %eax 28 popl %ebp 29 retl 30 .cfi_endproc 31 32# CHECK-LABEL: load4b_cfa_rsp 33# CHECK: pushl %ebx 34# CHECK: .cfi_adjust_cfa_offset 4 35# CHECK: movl %esp, %ebx 36# CHECK: .cfi_remember_state 37# CHECK: .cfi_def_cfa_register %ebx 38# CHECK: popl %ebx 39# CHECK: .cfi_restore_state 40# CHECK: retl 41 42 .globl load4b_cfa_rsp 43 .type load4b_cfa_rsp,@function 44swap_cfa_rsp: # @swap_cfa_rsp 45 .cfi_startproc 46 pushl %ebp 47 .cfi_offset %ebp, 0 48 movl %esp, %ebp 49 movl 8(%ebp), %eax 50 popl %ebp 51 retl 52 .cfi_endproc 53