This is the mail archive of the
gdb-testers@sources.redhat.com
mailing list for the GDB project.
gdb, native i686-pc-linux-gnu
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: gcc-testresults at gcc dot gnu dot org, gdb-testers at sources dot redhat dot com
- Date: Mon, 19 Jan 2004 00:27:41 -0500 (EST)
- Subject: gdb, native i686-pc-linux-gnu
. Highlights of This Spin
This week, there were namespace changes in gcc, gdb, and the gdb test
suite. It's hard to tease out all the changes and figure out which
changes are improvements in gcc, regressions in gcc, improvements in
gdb, regressions in gdb, improvements in gdb test suite, regressions
in gdb test suite. I hope I did not miss anything.
Java is broken in the following case: static-linked programs in a UTF8
environment where libgcj itself was built in a UTF8 environment.
I have not started covering gcc gcc-3_4-branch yet. Next spin.
. Old Bugs Fixed
. gdb HEAD
http://sources.redhat.com/gdb/bugs/57
nested classes incorrectly printed.
Partially improved.
http://sources.redhat.com/gdb/bugs/488
vtable, RTTI, and namespaces don't work together
Partially improved.
http://sources.redhat.com/gdb/bugs/825
gdb gets scope of class local to a function wrong
Partially improved.
. gcc HEAD
gcc HEAD -gstabs+ works better with namespaces.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13539
dbxout.c does not recognize protected inheritance
Fixed.
. New Bugs Detected
. gdb HEAD
http://sources.redhat.com/gdb/bugs/1511
lookup_transparent_type sometimes fails in presence of classes in namespaces
http://sources.redhat.com/gdb/bugs/1512
no canonical way to output names of C++ types
http://sources.redhat.com/gdb/bugs/1516
[regression] local classes, gcc 2.95.3, dwarf-2
http://sources.redhat.com/gdb/bugs/1520
[regression] namespace.exp, gcc HEAD, dwarf-2
. gcc HEAD
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13708
java program crashes at startup, UTF-8 environment
. PR Count
Query executed 2004-01-18 20:05:57 UTC
1519 matches found
22 analyzed
692 closed
29 feedback
760 open
3 paperwork
13 suspended
1519 TOTAL
. Libiberty Testing
. target=native, host=i686-pc-linux-gnu, osversion=red-hat-8.0, libc=2.2.93-5-rh
binutils HEAD 742 tests, 0 failures
gcc 2.95.3, binutils HEAD All 616 tests passed
gcc 3.3.2, binutils HEAD 649 tests, 0 failures
gcc gcc-3_3-branch, binutils 2.14 649 tests, 0 failures
gcc gcc-3_3-branch, binutils HEAD 649 tests, 0 failures
gcc gcc-3_3-branch, binutils vendor 649 tests, 0 failures
gcc HEAD, binutils 2.14 742 tests, 0 failures
gcc HEAD, binutils HEAD 742 tests, 0 failures
gcc HEAD, binutils vendor 742 tests, 0 failures
gdb HEAD 742 tests, 0 failures
gdb carlton_dictionary-branch 726 tests, 0 failures
gdb drow-cplus-branch 742 tests, 0 failures
. Gdb Testing
My tables are at
http://www.shout.net/~mec/sunday/2004-01-18/index.html
The previous tables are at
http://www.shout.net/~mec/sunday/2004-01-09/index.html
. Non-PASS Results
gdb 6.0 361 non-PASS results
gdb HEAD 442 non-PASS results
. gdb 6.0
. gdb.cp/annota2.exp: annotate-quit
KFAIL -> PASS
PASS -> KFAIL
gdb.cp/annota3.exp: annotate-quit
FAIL -> PASS
Fluctuation in test result probably due to a signal handling
race in the command loop.
http://sources.redhat.com/gdb/bugs/544
gdb.c++/annota2.exp: annotate-quit test sometimes fails
. gdb.cp/namespace.exp: print 'AAA::c'
gdb.cp/namespace.exp: print 'C::cc'
gdb.cp/namespace.exp: print 'E::cde'
gdb.cp/namespace.exp: print 'F::cXf'
gdb.cp/namespace.exp: print 'G::Xg'
gdb.cp/namespace.exp: print X
gdb.cp/namespace.exp: print XOtherFile
gdb.cp/namespace.exp: print c
gdb.cp/namespace.exp: print cOtherFile
gdb.cp/namespace.exp: print cX
gdb.cp/namespace.exp: print cXOtherFile
gdb.cp/namespace.exp: print cc
gdb.cp/namespace.exp: print cd
gdb.cp/namespace.exp: print shadow
FAIL -> PASS
This is a bug fix with gcc HEAD -gstabs+.
. gdb.java/jmisc1.exp: running to jmisc.main(java.lang.String[]) in runto
blank -> FAIL
gdb.java/jmisc1.exp: p args
gdb.java/jmisc1.exp: p *args
PASS -> FAIL
gdb.java/jmisc2.exp: running to jmisc.main(java.lang.String[]) in runto
blank -> FAIL
gdb.java/jmisc2.exp: p args
gdb.java/jmisc2.exp: p *args
PASS -> FAIL
This is a regression in gcc HEAD.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13708
java program crashes at startup, UTF-8 environment
. gdb.mi/mi*-pthreads.exp: check mi_thread_command_set: -thread-select [3456]
blank -> PASS
PASS -> blank
When gdb operates on an inferior program with threads, gdb uses
hidden breakpoints in the thread library to track events such as
thread creation and thread destruction.
This causes some programs to behave differently because they
aren't prepared to handle the additional signals caused by the
hidden breakpoints. The test program for mi*-pthreads.exp is
such a program.
http://sources.redhat.com/ml/gdb/2003-09/msg00279.html
http://sources.redhat.com/gdb/bugs/259
. gdb.threads/print-threads.exp: Hit thread_function breakpoint, 5 (slow with kill breakpoint)
blank -> PASS
Fluctuation with unknown cause. Probably harmless.
. gdb.threads/schedlock.exp: *
PASS
gdb.threads/schedlock.exp: thread 0 ran (didn't run)
gdb.threads/schedlock.exp: thread 1 ran (didn't run)
gdb.threads/schedlock.exp: thread 2 ran (didn't run)
gdb.threads/schedlock.exp: thread 3 ran (didn't run)
gdb.threads/schedlock.exp: thread 4 ran (didn't run)
gdb.threads/schedlock.exp: thread 5 ran (didn't run)
PASS
FAIL
All tests PASSed in all configurations except for the "thread N
ran" tests. Here are the counts per thread.
PASS FAIL
thread 0 0 26
thread 1 26 0
thread 2 26 0
thread 3 26 0
thread 4 26 0
thread 5 26 0
. gdb HEAD
checkout date is '2004-01-18 04:33:29 UTC'
previous date is '2004-01-09 22:05:53 UTC'
. gdb.base/sepdebug.exp: cannot produce separate debug info files
blank -> UNSUPPORTED
gdb.base/sepdebug.exp: *
blank -> PASS
Elena Z wrote a new test script. The new tests PASS with
binutils HEAD dwarf-2, and are UNSUPPORTED with other binutils
or other debug formats.
. gdb.cp/classes.exp: ptype class * (obsolescent gcc or gdb)
gdb.cp/virtfunc.exp: ptype * (obsolescent gcc or gdb)
gdb.cp/virtfunc.exp: ptype * (aCC)
PASS -> blank
gdb.cp/classes.exp: ptype class *
gdb.cp/virtfunc.exp: ptype *
blank -> PASS
Michael C improved some test names.
. gdb.cp/derivation.exp: ptype d_instance
gdb.cp/derivation.exp: ptype e_instance
PASS -> XFAIL
Michael C improved the test to detect PR gcc/13539.
gdb output did not change.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13539
dbxout.c does not recognize protected inheritance
This bug has been fixed in gcc HEAD, but is still present in
older versions of gdb.
. gdb.cp/local.exp: ptype Local
gdb.cp/local.exp: ptype InnerLocal
gdb.cp/local.exp: ptype NestedInnerLocal
PASS -> FAIL
. gdb.cp/local.exp: ptype InnerLocal::NestedInnerLocal
KFAIL -> FAIL
gdb regressed with gcc 2.95.3 -gdwarf-2.
http://sources.redhat.com/gdb/bugs/1516
[regression] local classes, gcc 2.95.3, dwarf-2
. gdb.cp/local.exp: Local out of scope
KFAIL -> PASS
gdb improved with gcc 2.95.3 -gdwarf-2. Well, sort-of improved.
gdb 6.0 with gcc 2.95.3 -gdwarf-2 always printed local classes;
gdb HEAD with gcc 2.95.3 -gdwarf-2 never prints them. This
manifests as an improvement on this test, which prints a local
class that is not in scope.
http://sources.redhat.com/gdb/bugs/825
gdb gets scope of class local to a function wrong
. gdb.cp/local.exp: ptype InnerLocal::NestedInnerLocal
KFAIL -> FAIL
gdb improved with gcc HEAD -gstabs+. The old output was
"There is no field named NestedInnerLocal". The new output is a
correct listing of InnerLocal::NestedInnerLocal.
I have improved the test script to report PASS on the new
correct output.
. gdb.cp/member-ptr.exp: continue to breakpoint: continue to pmi = NULL
blank -> PASS
Michael C overhauled the test script, but it is still not
enabled for gcc yet.
. gdb.cp/namespace.exp: print BBB::Class::xyzq
blank -> PASS
blank -> FAIL
David C added a new test.
This test PASSed on gcc v2 dwarf-2 and gcc v3 dwarf-2.
This test FAILed on gcc v2 stabs+ and gcc v3 stabs+.
I did not analyze these results.
gdb.cp/namespace.exp: ptype C::CClass
gdb.cp/namespace.exp: ptype C::CClass::NestedClass
gdb.cp/namespace.exp: ptype C::NestedClass
gdb.cp/namespace.exp: ptype C::OtherFileClass
gdb.cp/namespace.exp: ptype CClass
gdb.cp/namespace.exp: ptype CClass::NestedClass
gdb.cp/namespace.exp: ptype OtherFileClass
blank -> PASS
blank -> FAIL
David C added some new tests.
These tests PASSed on gcc v2 dwarf-2 and some gcc v3 dwarf-2.
These tests FAILed on gcc v2 stabs+ and gcc v3 stabs+.
These tests FAILed on gcc HEAD dwarf-2 and gcc HEAD stabs+.
I did not analyze these results.
. gdb.cp/namespace.exp: ptype NestedClass
blank -> PASS
blank -> FAIL
David C added a new test.
This test PASSed on gcc v2 dwarf-2 and gcc v3 dwarf-2.
This test FAILed on gcc v2 stabs+ and gcc 3.2.7-rh stabs+.
This test PASSed on gcc 3.3 and later with stabs+.
I did not analyze these results.
. gdb.cp/namespace.exp: ptype ::C::CClass
gdb.cp/namespace.exp: ptype ::C::CClass::NestedClass
gdb.cp/namespace.exp: ptype ::C::NestedClass
gdb.cp/namespace.exp: ptype ::C::OtherFileClass
blank -> KFAIL
David C added a new test.
This test KFAILed on all configurations.
I did not analyze these results.
. gdb.cp/namespace.exp: print 'C::cc'
gdb.cp/namespace.exp: print 'E::cde'
gdb.cp/namespace.exp: print 'F::cXf'
gdb.cp/namespace.exp: print C::D::cd
gdb.cp/namespace.exp: print C::cc
gdb.cp/namespace.exp: print E::cde
gdb.cp/namespace.exp: print E::ce
gdb.cp/namespace.exp: print F::cXf
gdb.cp/namespace.exp: print F::cXfX
gdb.cp/namespace.exp: print c
gdb.cp/namespace.exp: print cOtherFile
gdb.cp/namespace.exp: print cX
gdb.cp/namespace.exp: print cd
gdb.cp/namespace.exp: print shadow
gdb.cp/namespace.exp: ptype C
gdb.cp/namespace.exp: ptype E
PASS -> FAIL
These are existing tests. These tests regressed with gcc HEAD
-gdwarf-2. This is a regression in gdb HEAD versus gdb 6.0.
http://sources.redhat.com/gdb/bugs/1520
[regression] namespace.exp, gcc HEAD, dwarf-2
. gdb.cp/namespace.exp: print 'AAA::c'
gdb.cp/namespace.exp: print 'C::cc'
gdb.cp/namespace.exp: print 'E::cde'
gdb.cp/namespace.exp: print 'F::cXf'
gdb.cp/namespace.exp: print 'G::Xg'
gdb.cp/namespace.exp: print X
gdb.cp/namespace.exp: print XOtherFile
gdb.cp/namespace.exp: print c
gdb.cp/namespace.exp: print cOtherFile
gdb.cp/namespace.exp: print cX
gdb.cp/namespace.exp: print cXOtherFile
gdb.cp/namespace.exp: print cc
gdb.cp/namespace.exp: print cd
gdb.cp/namespace.exp: print shadow
FAIL -> PASS
Same analysis as gdb 6.0.
gcc HEAD improved.
. gdb.cp/rtti.exp: print *e1
KFAIL -> PASS
gdb improved with gcc v2 -gdwarf-2 and gcc v3 -gdwarf-2. When
gdb prints a vptr base type, gdb now prints the namespace of the
type.
http://sources.redhat.com/gdb/bugs/57
nested classes incorrectly printed.
. gdb.cp/rtti.exp: print *e2
KFAIL -> PASS
gdb improved with gcc 2.95.3 -gdwarf-2. When gdb prints a vptr
base type, gdb now prints the namespace of the type.
http://sources.redhat.com/gdb/bugs/488
vtable, RTTI, and namespaces don't work together
. gdb.cp/rtti.exp: print *e2
KFAIL -> KFAIL
gdb got worse with gcc v3 -gdwarf-2.
The previous gdb printed:
$2 = {<Base2> = {_vptr.Base2 = 0x804e5e8}, <No data fields>}
The current gdb printed:
$2 = <incomplete type>
http://sources.redhat.com/gdb/bugs/1511
lookup_transparent_type sometimes fails in presence of classes in namespaces
. gdb.cp/templates.exp: ptype fvpchar
gdb.cp/templates.exp: print Foo<volatile char *>::foo
gdb.cp/templates.exp: print Foo<volatile char*>::foo
PASS -> KFAIL
The test script improved. David C added some more KFAIL arms.
gdb output changed with gcc 2.95.3 -gdwarf-2 and gcc v3
-gdwarf-2.
The previous gdb printed:
class Foo<volatile char *>
The current gdb printed:
class Foo<char volatile *>
This breaks the input tests on "Foo<volatile char *>" and
"Foo<volatile char*>". This needs to be fixed, but it does
not point to a bug in gdb.
. gdb.cp/templates.exp: ptype quxint
PASS -> KFAIL
gdb got worse. gdb output changed with gcc v3 -gdwarf-2.
The previous gdb printed:
type = class Qux<int,&string> {
The current gdb printed:
type = class Qux<int, &(string)> {
http://sources.redhat.com/gdb/bugs/1512
no canonical way to output names of C++ types
. gdb.java/jmisc1.exp: running to jmisc.main(java.lang.String[]) in runto
blank -> FAIL
gdb.java/jmisc1.exp: p args
gdb.java/jmisc1.exp: p *args
PASS -> FAIL
gdb.java/jmisc2.exp: running to jmisc.main(java.lang.String[]) in runto
blank -> FAIL
gdb.java/jmisc2.exp: p args
gdb.java/jmisc2.exp: p *args
PASS -> FAIL
Same analysis as gdb 6.0.
. gdb.threads/schedlock.exp: *
PASS
gdb.threads/schedlock.exp: thread 0 ran (didn't run)
gdb.threads/schedlock.exp: thread 1 ran (didn't run)
gdb.threads/schedlock.exp: thread 2 ran (didn't run)
gdb.threads/schedlock.exp: thread 3 ran (didn't run)
gdb.threads/schedlock.exp: thread 4 ran (didn't run)
gdb.threads/schedlock.exp: thread 5 ran (didn't run)
PASS
FAIL
All tests PASSed in all configurations except for the "thread N
ran" tests. Here are the counts per thread.
PASS FAIL
thread 0 20 6
thread 1 4 22
thread 2 3 23
thread 3 2 24
thread 4 3 23
thread 5 0 26
. Test Matrix
target => native
host => i686-pc-linux-gnu
osversion => red-hat-8.0
gdb => 6.0, HEAD
cc => gcc 2.95.3, gcc 3.2-7-rh, gcc 3.3.2, gcc gcc-3_3-branch, gcc HEAd
as => binutils 2.13.90.0.2-rh, binutils 2.14, binutils HEAD
ld => binutils 2.13.90.0.2-rh, binutils 2.14, binutils HEAD
libc => glibc 2.2.93-5-rh
gformat => dwarf-2, stabs+
glevel => 2
count 52 = 1 * 1 * 1 * 3 * (4*3+1*1) * 1 * 2 * 1
'target' and 'host' are gnu configuration triples.
'osversion' is the host operating system name, which is additional
information beyond 'host'.
'gdb', 'gcc', 'as', 'ld', and 'glibc' are version names.
versions starting with a digit are official releases or snapshots.
versions starting with a digit and ending with '-rh' are
vendor-supplied official releases on my red hat linux host.
versions named 'HEAD' are the cvs HEAD, also known as 'mainline' or 'trunk'.
versions with any other name are cvs branches.
'gformat' is the debugging information format.
'glevel' is the debugging level.
'count' is the total number of configurations tested.
as/ld are always matched.
The vendor gcc is available only with vendor as/ld.
The vendor gcc is available only with vendor binutils,
thus the '(4*3+1*1)' term for gcc/as/ld combinations.
. Host Software
. host=i686-pc-linux-gnu, osversion=red-hat-8.0
make 3.79.1
binutils 2.14
gcc 3.3.2
flex 2.5.4
bison 1.875
tcl 8.4.5
expect 5.39
dejagnu 1.4.3
The sources.redhat.com cvs repository has its own versions of tcl,
expect, and dejagnu. I don't have the resources to test with both
tcl/expect/dejagnu stacks, so I choose the stock stack for my test
bed.
The sources.redhat.com version of tcl is nearly identical to tcl
8.4.1. The sources.redhat.com version of expect dates from
1998-06-15. The sources.redhat.com version of dejagnu is nearly
identical to dejagnu 1.4.3.
I have packaged and published my scripts to manage the baseline
software. They are called Migchain (Michael's Gnu Toolchain) and
Migbat (Michael's Gnu Build and Test), and they are licensed under the
GPL.
ftp://ftp.shout.net/pub/users/mec/migchain/migchain-0.8.tar.gz
ftp://ftp.shout.net/pub/users/mec/migbat/migbat-0.8.tar.gz
. Test Bed Changes Since Last Report
No externally-visible changes.