2014-10-07 11:03:09 +00:00
|
|
|
# The test verifies that correct DWARF directives are emitted when
|
|
|
|
# assembly files are instrumented.
|
|
|
|
|
|
|
|
# RUN: llvm-mc %s -triple=i386-unknown-linux-gnu -asm-instrumentation=address -asan-instrument-assembly | FileCheck %s
|
|
|
|
|
2014-10-21 10:22:27 +00:00
|
|
|
# CHECK-LABEL: load4b_cfa_rbp
|
|
|
|
# CHECK: pushl %ebx
|
2014-10-07 11:03:09 +00:00
|
|
|
# CHECK-NOT: .cfi_adjust_cfa_offset 8
|
2014-10-21 10:22:27 +00:00
|
|
|
# CHECK: movl %ebp, %ebx
|
2014-10-07 11:03:09 +00:00
|
|
|
# CHECK: .cfi_remember_state
|
2014-10-21 10:22:27 +00:00
|
|
|
# CHECK: .cfi_def_cfa_register %ebx
|
|
|
|
# CHECK: popl %ebx
|
2014-10-07 11:03:09 +00:00
|
|
|
# CHECK: .cfi_restore_state
|
|
|
|
# CHECK-NOT: .cfi_adjust_cfa_offset -8
|
|
|
|
# CHECK: retl
|
|
|
|
|
|
|
|
.text
|
2014-10-21 10:22:27 +00:00
|
|
|
.globl load4b_cfa_rbp
|
|
|
|
.type load4b_cfa_rbp,@function
|
2014-10-07 11:03:09 +00:00
|
|
|
swap_cfa_rbp: # @swap_cfa_rbp
|
|
|
|
.cfi_startproc
|
|
|
|
pushl %ebp
|
|
|
|
.cfi_def_cfa_offset 8
|
|
|
|
.cfi_offset %ebp, -8
|
|
|
|
movl %esp, %ebp
|
|
|
|
.cfi_def_cfa_register %ebp
|
|
|
|
movl 8(%ebp), %eax
|
|
|
|
popl %ebp
|
|
|
|
retl
|
|
|
|
.cfi_endproc
|
|
|
|
|
2014-10-21 10:22:27 +00:00
|
|
|
# CHECK-LABEL: load4b_cfa_rsp
|
|
|
|
# CHECK: pushl %ebx
|
2014-10-07 11:03:09 +00:00
|
|
|
# CHECK: .cfi_adjust_cfa_offset 4
|
2014-10-21 10:22:27 +00:00
|
|
|
# CHECK: movl %esp, %ebx
|
2014-10-07 11:03:09 +00:00
|
|
|
# CHECK: .cfi_remember_state
|
2014-10-21 10:22:27 +00:00
|
|
|
# CHECK: .cfi_def_cfa_register %ebx
|
|
|
|
# CHECK: popl %ebx
|
2014-10-07 11:03:09 +00:00
|
|
|
# CHECK: .cfi_restore_state
|
|
|
|
# CHECK: retl
|
|
|
|
|
2014-10-21 10:22:27 +00:00
|
|
|
.globl load4b_cfa_rsp
|
|
|
|
.type load4b_cfa_rsp,@function
|
2014-10-07 11:03:09 +00:00
|
|
|
swap_cfa_rsp: # @swap_cfa_rsp
|
|
|
|
.cfi_startproc
|
|
|
|
pushl %ebp
|
|
|
|
.cfi_offset %ebp, 0
|
|
|
|
movl %esp, %ebp
|
|
|
|
movl 8(%ebp), %eax
|
|
|
|
popl %ebp
|
|
|
|
retl
|
|
|
|
.cfi_endproc
|