http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60142
Jan Kratochvil <jan.kratochvil at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jan.kratochvil at redhat dot
com
--- Comment #4 from Jan Kratochvil <jan.kratochvil at redhat dot com> ---
Verified GDB fails with it.
GDB puts breakpoint on second ".loc" (that is not the fist/initial ".loc") in a
function as currently neither GCC nor GCC use DW_LNS_set_prologue_end.
g++ (GCC) 4.9.0 20140212 (experimental)
-S -g -fsanitize=address
.type _Z4testv, @function
_Z4testv:
.LASANPC512:
.LFB512:
.file 2 "asantest.C"
.loc 2 4 0
.cfi_startproc
.cfi_personality 0x3,__gxx_personality_v0
.cfi_lsda 0x3,.LLSDA512
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $112, %rsp
.cfi_offset 14, -24
.cfi_offset 13, -32
.cfi_offset 12, -40
.cfi_offset 3, -48
leaq -128(%rbp), %rbx
movq %rbx, %r14
cmpl $0, __asan_option_detect_stack_use_after_return(%rip)
je .L3
.loc 2 4 0
<--- here GDB puts the breakpoint
movq %rbx, %rsi
movl $96, %edi
call __asan_stack_malloc_1
movq %rax, %rbx
.L3:
GDB already workarounds a similar case of GCC PR debug/48827, this asan
prologue may look standard enough it could be possibly also workarounded in
GDB.