This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/11500] [3.4 regression] gcc HEAD emits an extraneous "line 0" debug line at the start of each function
- From: "mec at shout dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Jul 2003 20:20:50 -0000
- Subject: [Bug debug/11500] [3.4 regression] gcc HEAD emits an extraneous "line 0" debug line at the start of each function
- References: <20030711161411.11500.mec@shout.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11500
------- Additional Comments From mec at shout dot net 2003-07-11 20:20 -------
Subject: Re: [3.4 regression] gcc HEAD emits an extraneous "line 0" debug line at the start of each function
Sorry, I should specify the regressions.
The regressions in the gdb test suite are:
# gdb 5.3, gcc -gdwarf-2
gdb.base/annota1.exp: send SIGUSR1
gdb.base/condbreak.exp: run until breakpoint at marker1
gdb.base/condbreak.exp: run until breakpoint at marker2
gdb.base/ena-dis-br.exp: continue to auto-disabled break marker2
gdb.base/ena-dis-br.exp: continue to break marker1
gdb.base/ena-dis-br.exp: continue to break marker1, 2nd time
gdb.base/funcargs.exp: continue to call6k
gdb.base/funcargs.exp: print st
gdb.base/funcargs.exp: run to call5a
gdb.base/funcargs.exp: run to hitbottom
gdb.base/watchpoint.exp: run to marker1 in test_disabling_watchpoints
gdb.base/watchpoint.exp: run to marker1 in test_simple_watchpoint
gdb.base/watchpoint.exp: watchpoints found in watchpoint/breakpoint table
gdb.c++/classes.exp: print obj_with_enum (2)
gdb.c++/classes.exp: print obj_with_enum.priv_enum
gdb.c++/classes.exp: ptype obj_with_enum.priv_enum
gdb.c++/ovldbreak.exp: continue to bp overloaded : double
gdb.c++/ovldbreak.exp: continue to bp overloaded : short
gdb.c++/ovldbreak.exp: continue to bp overloaded : signed char
gdb.c++/ovldbreak.exp: continue to bp overloaded : unsigned char
gdb.c++/ovldbreak.exp: continue to bp overloaded : unsigned short
gdb.mi/mi-until.exp: until after current function
gdb.mi1/mi-until.exp: until after current function
gdb.trace/packetlen.exp: run trace experiment
I haven't analyzed what happens inside gdb. I think most of it is this:
test script sets a breakpoint at beginning of function like 'marker1'
gdb takes the breakpoint
gdb prints where it is
test script expects to see 'marker1'
because of the bogus 'line 0' at the beginning of each function,
gdb always prints '0x12345678 in marker1', because it's never
at the beginning of a line
The bogus 'line 0' probably causes some other ill effects but the above
happens in gdb.base/condbreak.exp at least. It would take more analysis
to trace them down.