Hello!

For some reason bootstrap on Fedora 16 fails when compiling 32bit
libjava with undefined reference to `__cxa_call_unexpected':

libtool: link: /home/uros/gcc-build/./gcc/xgcc -shared-libgcc
-B/home/uros/gcc-build/./gcc -nostdinc++
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include  -m32 -shared
-nostdlib /usr/lib/../lib/crti.o
/home/uros/gcc-build/./gcc/32/crtbeginS.o  .libs/jni-libjvm.o
-Wl,-rpath -Wl,/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libjava/.libs
-Wl,-rpath -Wl,/usr/local/lib/../lib
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libjava/.libs
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs
./.libs/libgcj.so
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libjava -lpthread
-lrt -ldl -L/home/uros/gcc-build/./gcc/32 -L/lib/../lib
-L/usr/lib/../lib -L/home/uros/gcc-build/./gcc
-L/usr/local/x86_64-unknown-linux-gnu/bin
-L/usr/local/x86_64-unknown-linux-gnu/lib -lc -lgcc_s
/home/uros/gcc-build/./gcc/32/crtendS.o /usr/lib/../lib/crtn.o  -m32
-m32 -m32 -Wl,-Bsymbolic   -Wl,-soname -Wl,libjvm.so -o
.libs/libjvm.so
libtool: link: ( cd ".libs" && rm -f "libgcj_bc.la" && ln -s
"../libgcj_bc.la" "libgcj_bc.la" )
libtool: link: /home/uros/gcc-build/./gcc/xgcc -shared-libgcc
-B/home/uros/gcc-build/./gcc -nostdinc++
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include  -m32 -shared
-nostdlib /usr/lib/../lib/crti.o
/home/uros/gcc-build/./gcc/32/crtbeginS.o  .libs/gij.o   -Wl,-rpath
-Wl,/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libjava/.libs
-Wl,-rpath -Wl,/usr/local/lib/../lib
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libjava/.libs
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs
./.libs/libgcj.so
-L/home/uros/gcc-build/x86_64-unknown-linux-gnu/32/libjava -lpthread
-lrt -ldl -L/home/uros/gcc-build/./gcc/32 -L/lib/../lib
-L/usr/lib/../lib -L/home/uros/gcc-build/./gcc
-L/usr/local/x86_64-unknown-linux-gnu/bin
-L/usr/local/x86_64-unknown-linux-gnu/lib -lc -lgcc_s
/home/uros/gcc-build/./gcc/32/crtendS.o /usr/lib/../lib/crtn.o  -m32
-m32 -m32 -Wl,-Bsymbolic   -Wl,-soname -Wl,libgij.so.13 -o
.libs/libgij.so.13.0.0
./.libs/libgcj.so: undefined reference to `__cxa_call_unexpected'
collect2: error: ld returned 1 exit status
make[3]: *** [jv-convert] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: link: ( cd ".libs" && rm -f "libjvm.la" && ln -s
"../libjvm.la" "libjvm.la" )
./.libs/libgcj.so: undefined reference to `__cxa_call_unexpected'
collect2: error: ld returned 1 exit status
make[3]: *** [gcj-dbtool] Error 1

Digging a bit deeper with:

find . -name '*.o' | xargs nm -o | grep __cxa_call_unexpected
./32/libjava/.libs/prims.o:         U __cxa_call_unexpected

Googling a bit around the net, it looks that this file is wrongly
compiled to use C++ exception code, not java exception code.

Any hints what is going wrong there?

Thanks,
Uros.

Reply via email to