This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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]

Analysis of gdb 5.2.1 versus gdb gdb_5_3-branch%20021125


The 5.3 branch looks pretty good as of 2002-11-25.  In my opinion,
my test bed did not find any show stoppers, but there is one caveat:
it does not work well with gcc HEAD.

These results are based on the Sunday Project tables from 2002-11-25:

  http://www.shout.net/~mec/sunday/2002-11-25/index.html

To save time, I analyzed only the results which regressed from 5.2.1
to gdb_5_3-branch%20021125, not any results which improved or any new
test scripts which did not exist in 5.2.1 (such as schedlock.exp).
I didn't notice any big clumps of bad results in the new tests.

When a test result regresses, sometimes it means gdb has regressed,
and sometimes it means that the test suite has become more strict and
now reports a bug that has been in gdb a long time.  Thus, all of these
are *test result* regressions, but many of them are not *gdb* regressions.
There are also two cases where the test suite itself became worse from
5.2.1 to the 5.3 branch!

All but two of the test suite regressions have bug reports.

  gdb regression

    gdb/460: Regression: gdb prints extraneous address at breakpoint
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=460

  gdb regression on unsupported compiler (gcc 3.0.4)

    (no bug report) gdb.c++/templates.exp: break Garply<Garply<char> >::garply

  test suite regression

    gdb/862: regression: gdb.base/selftest.exp: "backtrace through signal handler"
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=862

    (no bug report yet): ptype NestedInnerLocal fails with gcc HEAD -gstabs+

  test suite stricter

    gdb/482: gdb.c++/local.exp: ptype InnerLocal::NestedInnerLocal
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=482

    gdb/483: ptype Local
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=483

    gdb/538: GDB prints type of expression incorrectly
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=538

  unknown cause

    gdb/544: gdb.c++/annota2.exp: annotate-quit test sometimes fails
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=544

I think that all of these bugs are acceptable for a release.

There is one caveat: support for gcc HEAD is flaky.  gcc-3_2-branch and
gcc 3.2.1 work fine.  The 5.3 branch works as well as 5.2.1, but they
both have similar problems.  So if gdb 5.3 needs to work well with the
future gcc 3.3, there is some more investigation and work to do.

Michael C

===

Result Differences

  gdb.base/condbreak.exp: run until breakpoint at marker 1
  gdb.base/condbreak.exp: run until breakpoint at marker 2
  gdb.base/ena-dis-br.exp: continue to break marker1
  gdb.base/ena-dis-br.exp: continue to auto-disabled break marker2
  gdb.base/ena-dis-br.exp: continue to break marker1, 2nd time
  [bug in gdb, regression, harmless]

    gdb/460: Regression: gdb prints extraneous address at breakpoint
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=460

    In some cases, gdb regressed in its handling of line numbers.
    The bug is not serious but it is a bug.

    These tests PASS on all gdb 5.2.1.
    They XFAIL on:
      # gdb gcc binutils gformat
      gdb_5_3-branch 2.95.3 2.13.1 dwarf-2
      gdb_5_3-branch 2.95.3 HEAD dwarf-2
      gdb_5_3-branch 2.95.3 binutils-2_13-branch dwarf-2
      gdb_5_3-branch 2.95.3 vendor dwarf-2

    This bug is still happening in gdb HEAD, in the same configurations
    as the branch.

  gdb.base/printcmds.exp: ptype &*"foo"
  [bug in gdb, long-standing, harmless]

    gdb/538: GDB prints type of expression incorrectly
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=538

    gdb prints the type of &*"foo" or &*ptr as "char [4]" instead of "char *".

    This test XFAIL's on all gdb 5.2.1 and FAIL's on all gdb gdb_5_3-branch
    and all gdb HEAD.

    gdb has had this bug for a long time.  gdb has not changed its behavior,
    but the test script improved so that it marks this behavior as a FAIL
    rather than an XFAIL.  Actually, it should be a KFAIL!

  gdb.base/selftest.exp: backtrace through signal handler
  [bug in test, regression, harmless]

    gdb/862: regression: gdb.base/selftest.exp: "backtrace through signal handler"
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=862

    gdb does a backtrace through a signal handler.  It expects to find
    "in main \\(.*\\) at .*main\\.c" on the stack.  But on 2002-09-26,
    main() moved from main.c to gdb.c, so selftest.exp is out of sync.

    This test PASS's on all gdb 5.2.1 and FAIL's on all gdb gdb_5_3-branch
    and gdb HEAD.

  gdb.c++/annota2.exp: annotate-quit
  [bug in gdb, long-standing, mostly harmless]

    gdb/544: gdb.c++/annota2.exp: annotate-quit test sometimes fails
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=544

    This test has been failing randomly ever since my first test baby-crib.
    It might be a symptom of a real bug in gdb, which is why I label
    it "mostly harmless" rather than "harmless".

    This bug is still happening in gdb HEAD.

  gdb.c++/local.exp: ptype InnerLocal::NestedInnerLocal
  [bug in gdb, long-standing, harmful]

    gdb/482: gdb.c++/local.exp: ptype InnerLocal::NestedInnerLocal
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=482

    gdb fails to find the nested class "InnerLocal::NestedInnerLocal".

    This test XFAIL's on all gdb 5.2.1 and FAIL's on all gdb gdb_5_3-branch
    and all gdb HEAD.

    gdb has had this bug for a long time.  gdb has not changed its behavior,
    but the test script has become stricter.

  gdb.c++/local.exp: ptype Local
  [bug in gdb, long-standing, harmless]

    gdb/483: ptype Local
    http://sources/redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=483

    gdb prints a duplicate line for a class member.  This test XFAIL's
    with gcc v3, any binutils, and dwarf-2.  This test XFAIL's the same
    way in gdb HEAD.

    This bug is annoying but harmless.

  gdb.c++/local.exp: ptype NestedInnerLocal
  [bug in test script, long-standing, harmless]

    No bug report yet.  I may just fix this rather than filing a bug
    report on it.

    gdb fails to print the type of a nested class.  It looks like gdb is
    correct in refusing to find the nested class name, and the test
    script needs updating.

  gdb.c++/templates.exp: break Garply<Garply<char> >::garply
  [bug in gdb, regression, harmless]

    No bug report; none is needed.

    This test fails in gdb gdb_5_3-branch and gdb HEAD with gcc 3.0.4,
    any binutils, and dwarf-2 format.  gdb fails to print the source
    file and line number for a breakpoint on a template function.  I am
    not filing a bug report because it happens only with gcc 3.0.4,
    not with gcc 2.95.3 or with any v3 gcc later than 3.0.4.

    You might wonder why I test with gcc 3.0.4 at all.  It is not for
    the failures.  It is to find successes in gcc 3.0.4 which are failures
    with later gcc versions, to isolate gcc regressions versus bugs that
    have always been in gcc.


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