This is the mail archive of the
mailing list for the GCC project.
Re: GCC 3.2 Prerelease
On Mon, Aug 05, 2002 at 06:07:25PM -0700, B. Kosnik wrote:
> > Agreed; I don't see how we can release 3.2 unless we can be confident
> > that 3.3, when released, will have the same ABI ("fixing" 3.3 before
> > its release, to fix the problem, might be acceptable). However, I
> > must admit that I am fuzzy about just what the breakage is; what are
> > the differences?
> There are 155 g++ fails, and 15 libstdc++ fails, when the 3.3
> libstdc++.so is used with the 3.2 toolchain.
> Jakub gets different results. I'm hoping that a third person will step
> forward and try this, and that this person's results will match either
> Jakub or mine. I'm willing to be wrong, of course. I'm just uneasy.
> In the meantime I'm backing through 3.3 sources to try and get a
> compatible library.
Hate to do this, but I get to add to the confusion...
I tried a set of straight "../configure --enable-languages=c,c++"
builds. Head testsuite results (libstdc++ and check-g++ only):
FAIL: g++.dg/warn/Wunused-2.C (test for warnings, line 5)
XPASS: 22_locale/collate_byname.cc execution test
FAIL: 22_locale/ctor_copy_dtor.cc execution test
XPASS: 22_locale/ctype_is_char.cc execution test
XPASS: 22_locale/ctype_is_wchar_t.cc execution test
XPASS: 22_locale/messages_byname.cc execution test
XPASS: 22_locale/moneypunct_byname.cc execution test
FAIL: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
Branch results were exactly the same.
I then swapped _only_ the libstdc++.so.5.0.0 file between the builds.
This seems to me to be the right thing to do; none of the testsuite
uses the static version, and libsupc++ will always match the compiler
being used because it is only static.
The GCC HEAD compiler using the branch library failed:
FAIL: backward/strstream_members.cc execution test
Everything else was the same, and the branch compiler using the head
library (and the branch testsuite, mind...) had no new failures.
The new failures was:
#0 0x4016d94d in free () from /lib/libc.so.6
#1 0x4009f033 in operator delete(void*) (ptr=0x8000000)
#2 0x4009f08f in operator delete(void*) (ptr=0x8000000)
#3 0x40054329 in std::strstreambuf::_M_free(char*) (this=0x8000000, p=0x8049be0 "")
and I assume it's not a problem because I see that the test has changed
since the 3.2 branch.
I'm in the middle of repeating this experiment with
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer