This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
gdb 5.3 versus gdb HEAD%20030201 (draft #2)
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: gdb at sources dot redhat dot com
- Date: Mon, 3 Feb 2003 22:25:17 -0600
- Subject: gdb 5.3 versus gdb HEAD%20030201 (draft #2)
GDB test suite regressions from 5.3 to HEAD%20030201 (draft #2)
High priority issues:
pr gdb/1026
native x86_64-unknown-linux-gnu
[I didn't get all the way through the list, so this is not complete yet.
I will probably do another spin and then continue this.]
These results are based on the data that I used for the Sunday Project
report of 2003-02-01:
http://www.shout.net/~mec/sunday/2003-02-01/index.html
Between gdb 5.3 and gdb HEAD%20030201, 18 files in testsuite/gdb.mi were
renamed from 'mi0-*.exp' to 'mi1-*.exp'. I have to accommodate this
when I compare test results. So I changed my results cruncher: it
transforms both 'mi0-*.exp' and 'mi1-*.exp' to 'mi[01]-*.exp', so that
the results become comparable. It's a bit of a kludge.
There's a serious problem with stabs+ in gcc gcc-3_3-branch and gcc
HEAD. Both gdb 5.3 and gdb HEAD%20030201 report a lot of FAILs with
these gcc's. Technically, this is not a regression in gdb. But we're
going to suck down a lot of bug reports if we release a gdb that does
not work well with the upcoming gcc 3.3, which is tentatively scheduled
for 2003-03-01. These bad results have been there since the big gcc
merge and the creation of gcc-3_3-branch. I've been tardy at looking
into them.
Michal Ludvig also reports that native x86_64-unknown-linux-gnu has
regressed significantly from gdb 5.3 to gdb 2003-02-01-cvs.
I analyzed results which disimproved from gdb 5.3 to gdb HEAD plus
non-PASS results from new tests in gdb HEAD. I did not analyze results
which improved from gdb 5.3 to gdb HEAD.
All test runs are native i686-pc-linux-gnu on a red hat linux 8 system.
I test with gcc v2 and v3, several versions of binutils, and both
dwarf-2 and stabs+.
Most of the results are either:
. New tests that do not PASS ("null -> XXX"). These need investigation,
but most of them will turn out to be existing bugs in 5.3.
. Known unstable tests in annota2.exp, killed.exp, schedlock.exp.
Some of these are bugs in gdb but they are not regressions from 5.3.
. Bits of the big problem with stabs+ support with gcc gcc-3_branch
and gcc HEAD.
Michael C
===
. gdb.base/advance.exp: advance function not called by current frame
gdb.base/advance.exp: continue to call to func3 in main
gdb.base/advance.exp: advance function called as param
gdb.base/advance.exp: advance with no argument
gdb.base/until.exp: until func, not called by current frame
null -> FAIL
all gcc v3
This is new test with a bug in the test script.
Analysis here:
http://sources.redhat.com/ml/gdb-patches/2003-01/msg00621.html
Patch submitted here:
http://sources.redhat.com/ml/gdb-patches/2003-02/msg00054.html
This patch has been committed. So this section should go away
after the next sunday project spin.
. gdb.base/constvars.exp: ptype crass
null -> XFAIL
This is a new test. Using the same test script, gdb improved from
5.3 to gdb HEAD%20030201.
This test does 'ptype' on a structure with a 'char * const ptr'
member. gdb 5.3 does not have this test. With gdb 5.3 and
dwarf-2, gdb prints the structure member as 'char * constptr' with
the single word 'constptr' -- obviously incorrect. With gdb 5.3
and stabs+, gdb prints the structure member as 'char *ptr',
dropping the const.
With gdb HEAD%20030201 and dwarf-2, gdb prints 'char * const ptr',
which is an improvement. With gdb HEAD%20030201 and stabs+, gdb
prints 'char *ptr', the same bad behavior as gdb 5.3.
. gdb.base/constvars.exp: ptype crisp
null -> XFAIL
v2 stabs+
This is a new test. Using the same test script, gdb has the same
behavior in 5.3 and gdb HEAD%20030201.
This test does 'ptype' on a structure with a 'char * const *ptr'
member. gdb 5.3 and gdb HEAD%20030201 have the same behavior,
modulo whitespace changes. They respond correctly with gcc 2.95.3
dwarf-2, gcc 3.X dwarf-2, and gcc 3.X stabs+; and they respond
incorrectly with gcc 2.95.3 stabs+.
. gdb.base/ending-run.exp: continue after exit
null -> UNSUPPORTED
This is a new test which is working properly.
Some configurations (I don't know which ones) can land in a DLD
function after leaving main(). These configurations run this
particular test. Other configurations return UNSUPPORTED for this
test.
gdb's behavior is fine. I find the UNSUPPORTED a bit gratuitous.
Perhaps the test script should do nothing rather than generate an
UNSUPPORTED.
. gdb.c++/annota2.exp: annotate-quit
pr 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
Fluctuation in test result from unknown cause.
This is a long-standing issue with gdb. It has not changed from
gdb 5.3 to gdb HEAD%20030201. The issue has to do with gdb
handling of ^C coming very quickly from 'expect'. I believe
there is not actually any problem with annotation.
. gdb.c++/casts.exp: cast base class pointer to derived class pointer
null -> UNRESOLVED
dwarf-2 with gcc HEAD
This is a cascade problem from the previous test script,
gdb.c++/anon-union.exp. anon-union.exp causes an internal error
in gcc HEAD%20030128 (PR gcc/9039). The after-effects kill the
first test of the next test script.
. gdb.c++/casts.exp: cast base class pointer to derived class pointer
null -> FAIL
stabs+ with gcc gcc-3_3-branch, gcc HEAD
stabs+ with gcc gcc-3_3-branch, gcc HEAD
This is a high-priority bug. It might be in either gdb or gcc.
gcc changed its stabs+ output, and gdb does not handle the new
output. PR gdb/1026.
. gdb.c++/classes.exp: ptype struct default_public_struct
UNRESOLVED -> XFAIL
dwarf-2 with gcc HEAD
. gdb.c++/local.exp: ptype Local
FAIL -> FAIL
dwarf-2 with gcc v3
. gdb.c++/pr-574.exp: PR gdb/574
null -> FAIL
stabs+ with gcc gcc-3_3-branch, gcc HEAD
. gdb.mi/gdb701.exp: create fooPtr
null -> FAIL
dwarf-2 with gcc v2, gcc 3.2.1, gcc gcc-3_2-branch, gcc 3.2-7-rh
. gdb.mi/gdb792.exp: list children of class C
null -> FAIL
stabs+ with gcc gcc-3_3-branch, gcc HEAD
. gdb.threads/killed.exp: GDB exits after multi-threaded program exits messily (PR ...)
pass -> KFAIL
. gdb.threads/schedlock.exp: *