This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

Re: Major 3.1 branch Java regressions


In article <20020516.193915.35164715.davem@redhat.com> you write:

> Java fails to be able to compile any of the testsuite on
> the 3.1 branch now, have a look at recent gcc-testresults
> submissions, for example:
>
> http://gcc.gnu.org/ml/gcc-testresults/2002-05/msg00603.html

I noticed it as well, but I came to a different conclusion.  Luckily,
my guess at the root issue was correct.

> The only functional changes from the 3.1 release to the current branch
> are c++ frontend changes.  I heavily suspect them and I include the
> c++ frontend diff between 3.1 and current branch below.

Given the non-deterministic nature of much of gcc's bootstrap process,
what is a functional change? ;-)

> Jason/Alexander, did you guys run the java testsuite before
> installing your changes on the branch?

> I am now doing a build with all of these changes reverted, but it
> would not surprise me if the java problems go away as a result.

I don't know how.  Did you perchance look at the actual failures in
libjava.log?

Every single failure is:

Can't find default package `java.lang'. Check the CLASSPATH
environment variable and the access to the archives 1 error

http://people.freebsd.org/~ljrittle/daily-gcc-bootstrap-reports/ref4/gcc-build-ref4-0515/i386-unknown-freebsd4.5/libjava/testsuite/libjava.log.sent.gz

I hope you will agree that a failure of that form has nothing to do
with C++.  I think the problem is the fragile libjava Makefile verses
bumping to version 3.1.1...

Try unrolling this one change:

Index: gcc/version.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/version.c,v
retrieving revision 1.1513.2.83
retrieving revision 1.1513.2.85
diff -r1.1513.2.83 -r1.1513.2.85
4c4
< const char *const version_string = "3.1";
---
> const char *const version_string = "3.1.1 20020516 (prerelease)";

I quickstrapped gcc with that *one* change unrolled; reconfigured and
rebuilt libjava; and it works as well as 3.1 release again.  Isn't
that special? ;-/

Regards,
Loren
-- 
Loren J. Rittle
Senior Staff Software Engineer, Distributed Object Technology Lab
Networks and Infrastructure Research Lab (IL02/2240), Motorola Labs
rittle@rsch.comm.mot.com, KeyID: 2048/ADCE34A5, FDC0292446937F2A240BC07D42763672


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