Small example of livelock regression in garbage collector for GCJ 3.3 under Win32

Øyvind Harboe
Tue May 20 17:37:00 GMT 2003

>  > Division by zero can also cause the application to 
> terminate  > (as well as livelock).  > 
>  > If I add "throw new NullPointerException();" I do not see 
> the problem.
> Your libgcj has been built incorrectly.  It is essential that 
> -fcheck-references and -fuse-divide-subroutine are used at 
> all times and that libgcj is built with these compiler 
> options. libgcj/ should set these options where 
> necessary.  As far as I can see, it does.

There's a nasty tripwire if I ever saw one.

\thisiscool-gcc\gcc-3.3\bin\gcj -v
Reading specs from
Reading specs from
rename spec lib to liborig
Configured with: /datal/gcc/gcc/configure
--prefix=/datal/gcc/build/wingcc --bui
ld=i686-pc-linux-gnu --host=i686-pc-mingw32 --target=i686-pc-mingw32
nguages=c,c++,java --with-gcc --with-gnu-as --with-gnu-ld
w32-as --with-ld=i686-pc-mingw32-ld --enable-threads=win32 --disable-nls
le-win32-registry --disable-shared --disable-debug --disable-multilib
newlib --enable-libgcj --disable-java-awt --without-x
--enable-java-gc=boehm --d
isable-libgcj-debug --enable-interpreter --enable-hash-synchronization
Thread model: win32
gcc version 3.3.1 20030516 (prerelease)

More information about the Java mailing list