This is the mail archive of the java-discuss@sourceware.cygnus.com mailing list for the Java project.


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

Re: Latest libgcj broken?


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 ]



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