This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/60142] [4.9 Regression][asan] -fsanitize=address breaks debugging - stepping into functions no longer possible
- From: "jan.kratochvil at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 12 Feb 2014 14:34:59 +0000
- Subject: [Bug sanitizer/60142] [4.9 Regression][asan] -fsanitize=address breaks debugging - stepping into functions no longer possible
- Auto-submitted: auto-generated
- References: <bug-60142-4 at http dot gcc dot gnu dot org/bugzilla/>
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.