This is the mail archive of the
java-discuss@sourceware.cygnus.com
mailing list for the Java project.
Re: Latest libgcj broken?
- To: Matt Welsh <mdw at cs dot berkeley dot edu>
- Subject: Re: Latest libgcj broken?
- From: Bryce McKinlay <bryce at albatross dot co dot nz>
- Date: Fri, 17 Mar 2000 19:01:03 +1300
- CC: java-discuss at sourceware dot cygnus dot com
- References: <200003170513.VAA22699@mnemosyne.CS.Berkeley.EDU>
Hi Matt,
> I remember seeing something on the list that the latest libgcj might be
> broken with respect to gcc 2.95.2. Is that still true?
Yes. The problem is the changes made to the c++ compiler to support catching of Java exceptions in
C++ code. (I made some effort to port this patch onto my 2.95.2 tree, but I was unsuccessful: g++ has
changed a lot between 2.95.2 and the current cvs version)
libgcj was subsequently updated to take advantage of this great new compiler feature, and will presumably
have problems if you try to use it with an old compiler. The "pre-cni-catch-change" cvs tag is the last
version of libgcj that didn't have these changes - that one should work ok.
> Bryce -- what version of gcc and libgcj are you using?
gcc version 2.96 20000315 (experimental)
Recently the cvs compiler has been working well for me, on ia32 - at least on the days that it bootstraps
;-). Alpha seems not so good at the moment.
> #6 0x804a05f in __throw ()
> #7 0x400add09 in Letext ()
> at /home/cs/mdw/disks/mm33/egcs-jaguar/src/libgcj-cvs/libjava/exception.cc:161
> #8 0x40136f79 in java::lang::Object::notifyAll (this=0x804c988)
> at /home/cs/mdw/disks/mm33/egcs-jaguar/src/libgcj-cvs/libjava/gcj/cni.h:116
Strange, notifyAll() shouldn't be throwing an exception here. For some reason the class lock isn't held,
or at least notifyAll() thinks it isn't.
In any case, I reccommend using the latest compiler with the latest gcj. If the problem persists, file a
PR and we can try and work it out.
regards
[ bryce ]