This is the mail archive of the gdb-testers@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]

Sunday Project gdb test results, 2001-12-03


. Summary

  . Coverage

    1 platform
    2 versions of gdb
    4 versions of gcc
    1 debugging option
    8 total test runs

  . Aggregate results

    0   build failures
    8   ERRORs
    2   WARNINGs
    234 FAILs

  . Tables

    http://www.shout.net/~mec/sunday/2001-12-03/index.html

  . Old gdb bugs fixed

    gdb.asm/asm-source.exp: a bug in gdb was fixed.  In assembly code,
    it is okay to have line numbers without function names.

    gdb.c++/virtfunc.exp: gdb improved its handling of virtual functions.

  . New gdb bugs detected

    gdb gdb_5_1-2001-07-29-branch + gcc HEAD + -gdwarf-2 has a serious bug
    which produces bad results: 188 ERRORs, 4 WARNINGs, 2459 FAILs.
    This is the first week that I tried -gdwarf-2, so this is a
    "new detection of bug" rather than "detection of new bug".

    gdb.c++/classes.exp: gdb * + gcc HEAD + -gstabs+ has some pass -> fail
    transitions caused by gcc changes.  This may be a regression, or it
    may be a beneficial gcc change which gdb does not understand yet.



. Test protocol changes since last report

  I added the dimension of debugging format with two formats: -gstabs+
  and -gdwarf-2.  The tables show only -gstabs+, because -gdwarf-2
  results for one configuration are unsuitable for tabular presentation.




. Result changes since last report

  This section is only for -gstabs+.

  . gdb.asm/asm-source.exp
    [ok]

    . analysis

      A bug in gdb was fixed.  In assembly code, it is okay to have
      line numbers without function names.

  . gdb.base/nodebug.exp
    [ok]

    . analysis

      This is a bug in the test harness, or perhaps in the way that I
      am using the test harness.  In site.exp, I set target_list to a
      value of "unix/-gdwarf2" or "unix/-gstabs".  gdb.base/nodebug.exp
      compiles the program-under-test without the "debug" option, but the
      target_list flags are still in effect, so the program under test
      is still compiled with a debugging option.  This vitiates the test.

  . gdb.c++/annota2.exp
    [ok]

    . analysis

      This test is flaky -- it changes results a lot.
      I have not investigated this.

  . gdb.c++/classes.exp
  [ACHTUNG]

    . gdb.c++/classes.exp: calling method for small class
      [ok]

      . transitions

        gdb HEAD, gcc 2.95.3, -gstabs+ : xfail -> fail

      . log excerpts

        # 2001-11-24/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-HEAD/gcc-2.95.3/g-stabs+/gdb.log
        print v.method ()
        Address requested for identifier "v" which is in a register.
        (gdb) XFAIL: gdb.c++/classes.exp: calling method for small class (PRMS 2972)

        # 2001-12-03/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-HEAD/gcc-2.95.3/g-stabs+/gdb.log
        print v.method ()
        Address requested for identifier "v" which is in register $ebx
        (gdb) FAIL: gdb.c++/classes.exp: calling method for small class

      . analysis

        This test uses a variable which is of a very small class type,
        in a scope where the program under the program under test does not
        call methods of that variable or take the address of the variable.
        Thus the compiler may place the variable in a register.  This makes
        it impossible for gdb to call methods on that variable.

        gcc 2.95.3 does in fact place the variable in a register.
        gcc 3 (all versions tested) does not place the variable in a register.

        I believe that all versions of gcc are correct.  The
        program-under-test explicitly declares the variable to be of
        type "register", so I believe that gcc is entitled to place it
        in a register.  (It would be different if the variable were not
        declared "register".  In that case, gcc's documentation states
        that gcc shall not allocate the variable into a register if no
        optimization flags are given).

        I believe gdb is correct.  gdb reports accurate information
        about the program-under-test.

        I consider this test case to be incorrect.  I believe that
        "Address requested for identifer \"v\".*register" should be
        a plain PASS.

    . gdb.c++/classes.exp: base class param->a
      gdb.c++/classes.exp: base class param->x
      gdb.c++/classes.exp: base class param.a
      gdb.c++/classes.exp: base class param.x
      gdb.c++/classes.exp: inherited class param->a
      gdb.c++/classes.exp: inherited class param->x
      gdb.c++/classes.exp: inherited class param.a
      gdb.c++/classes.exp: inherited class param.x
      [ACHTUNG]

      . transitions

        gdb HEAD, gcc HEAD, -gstabs+ :                       pass -> fail
        gdb gdb-5_1-2001-07-29-branch, gcc HEAD, -gstabs+ :  pass -> fail

      . log excerpts

        # 2001-11-24/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-gdb_5_1-2001-07-29-branch/gcc-HEAD/g-stabs+/gdb.log
        call class_param.Aptr_a (&g_A)
        $11 = 1
        (gdb) PASS: gdb.c++/classes.exp: base class param->a

        # 2001-12-03/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-gdb_5_1-2001-07-29-branch/gcc-HEAD/g-stabs+/gdb.log
        call class_param.Aptr_a (&g_B)
        Cannot evaluate function -- may be inlined
        (gdb) FAIL: gdb.c++/classes.exp: inherited class param->a

      . analysis

        The only change in gdb gdb-5_1-2001-07-29-branch since last week
        is the version number.  Therefore, this must be a result of a
        change in gcc HEAD, not in gdb.  It may be a regression, or it
        may be a beneficial gcc change which gdb does not understand yet.

        The gdb.log entries for gdb HEAD are the same as for gdb
        gdb-5_1-2001-07-29-branch.



  . gdb.c++/virtfunc.exp
    [ok]

    . gdb.c++/virtfunc.exp: print pAe->f()
      [ok]

      . transitions

        gdb HEAD, gcc 2.95.3, -gstabs+ : xfail -> xpass

      . analysis

        gdb improved its handling of virtual functions.

    . gdb.c++/virtfunc.exp: print pADe->vg()
      gdb.c++/virtfunc.exp: print pDd->vg()
      gdb.c++/virtfunc.exp: print pDe->vg()
      [ok]

      . transitions

        gdb HEAD, gcc 3.0.2,          -gstabs+ : xfail -> xpass
        gdb HEAD, gcc HEAD,           -gstabs+ : xfail -> xpass
        gdb HEAD, gcc gcc-3_0-branch, -gstabs+ : xfail -> xpass

      . analysis

        gdb improved its handling of virtual functions.



. Coverage

  . Platforms

    native i686-pc-linux-gnu (red hat linux 7.1)

  . Versions

    . naming convention

      versions which start with a number are official releases.
      versions named HEAD are the cvs HEAD (mainline).
      versions with any other name are cvs branches.

    . date

      cvs checkouts started  Mon Dec  3 10:04:52 PST 2001
      cvs checkouts finished Mon Dec  3 21:01:20 PST 2001

    . software under test

      gdb HEAD, gdb gdb_5_1-2001-07-29-branch
      gcc 2.95.3, gcc 3.0.2, gcc gcc-3_0-branch, gcc HEAD
      binutils HEAD

    . debugging formats under test

      -gstabs+, -gdwarf-2

    . baseline software

      make 3.79.1
      binutils 2.11.2
      gcc 3.0.2
      tcl 8.3.4
      expect 5.33.0
      dejagnu 1.4.2



. Counts

  . native i686-pc-linux-gnu (red hat linux 7.1)

    . libiberty

      binutils HEAD                       All 645 tests passed
      gcc HEAD                            All 645 tests passed
      gcc gcc-3_0-branch                  All 645 tests passed
      gdb HEAD                            All 645 tests passed
      gdb gdb_5_1-2001-07-29-branch       All 645 tests passed

    . gdb

      . reporting convention

        Each test run generates a list of nine numbers:

          error/warning, pass/fail/xpass/xfail, unresolved/untested/unsupported

      . gdb HEAD

        . gcc 2.95.3
          . -gdwarf-2           0/0, 7809/179/30/107, 100/1/0
          . -gstabs+            0/0, 7762/137/36/190, 100/1/0

        . gcc 3.0.2
          . -gdwarf-2           0/0, 7905/154/29/104, 0/1/0
          . -gstabs+            0/0, 7857/113/32/190, 0/1/0

        . gcc HEAD
          . -gdwarf-2           4/2, 7897/157/29/78,  2/1/0
          . -gstabs+            4/2, 7847/118/32/164, 2/1/0

        . gcc gcc-3_0-branch
          . -gdwarf-2           0/0, 7905/154/29/104, 0/1/0
          . -gstabs+            0/0, 7857/113/32/190, 0/1/0

      . gdb gdb_5_1-2001-07-29-branch

        . gcc 2.95.3
          . -gdwarf-2           4/0, 7498/182/83/141, 104/1/0
          . -gstabs+            4/0, 7536/143/32/193, 104/1/0

        . gcc 3.0.2
          . -gdwarf-2           4/0, 7593/159/80/139, 4/1/0
          . -gstabs+            4/0, 7614/137/26/194, 4/1/0

        . gcc HEAD
          . -gdwarf-2           188/4, 2504/2459/50/224, 0/1/0
          . -gstabs+            8/2, 7610/140/27/167, 6/1/0

        . gcc gcc-3_0-branch
          . -gdwarf-2           4/0, 7592/160/80/139, 4/1/0
          . -gstabs+            4/0, 7614/137/26/194, 4/1/0



. ERRORs and WARNINGs

  . gdb gdb_5_1-2001-07-29-branch, gcc HEAD, -gdwarf2
    [ACHTUNG]

    . gdb.log excerpt

      (gdb) file /berman/fsf/_today_/berman/native/build/gdb/gdb_5_1-2001-07-29-branch 
/gdb/testsuite/gdb.base/run
      Reading symbols from /berman/fsf/_today_/berman/native/build/gdb/gdb_5_1-2001-07-29-branch/gdb/testsuite/gdb.base/run...Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.
      (gdb) ERROR: couldn't load /berman/fsf/_today_/berman/native/build/gdb/gdb_5_1-2001-07-29-branch/gdb/testsuite/gdb.base/run into /berman/fsf/_today_/berman/native/build/gdb/gdb_5_1-2001-07-29-branch/gdb/testsuite/../../gdb/gdb.
      run 

    . analysis

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

  . gdb.base/setvar.exp
  . gdb.base/weird.exp
    [ok]

    . gdb.sum excerpt

      PASS: gdb.base/setvar.exp: set variable *(v_signed_short_pointer+1)=-456
      ERROR: Process no longer exists
      UNRESOLVED: gdb.base/setvar.exp: set variable signed short pointer

    . analysis

      This is a metacharacter problem with some "\{" constructions which
      should be "\\}.  It has been fixed in gdb mainline; the fix needs to be
      brought to gdb 5.1 branch.

    . patch

      http://sources.redhat.com/ml/gdb-cvs/2001-10/msg00156.html

  . gdb.c++/userdef.exp
    [ok]

    . gdb.log excerpt

      Executing on host: g++ /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.c++/userdef.cc   -L/berman/fsf/_today_/berman/native/build/gdb/HEAD/libiberty  -g  -lm   -o /berman/fsf/_today_/berman/native/build/gdb/HEAD/gdb/testsuite/gdb.c++/userdef    (timeout = 300)
In file included from /berman/fsf/_today_/berman/native/install/gcc/HEAD/include/g++-v3/backward/iostream.h:31,
               from /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.c++/userdef.cc:1:
      /berman/fsf/_today_/berman/native/install/gcc/HEAD/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.

    . analysis

      The test program gdb.c++/userdef.cc includes the obsolete header
      <iostream.h>.  It needs to include <iostream> instead.  This causes a
      gcc warning with gcc HEAD, which leads to 4 ERRORs and 2 WARNINGs in
      both gdb mainline and 5.1 branch.


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