This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/11500] [3.4 regression] gcc HEAD emits an extraneous "line 0" debug line at the start of each function


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]