David Sayada writes: > > Reading specs from > /opt/crosstool/gcc-4.1.2-glibc-2.3.2/arm-unknown-linux-gnu/bin/../lib/gcc/ar > m-unknown-linux-gnu/4.1.2/../../../../arm-unknown-linux-gnu/lib/libgcj.spec > rename spec lib to liborig > Target: arm-unknown-linux-gnu > Configured with: > /opt/test/crosstool-0.43/build/arm-unknown-linux-gnu/gcc-4.1.2-glibc-2.3.2/g > cc-4.1.2/configure --target=arm-unknown-linux-gnu > --host=i686-host_pc-linux-gnu > --prefix=/opt/crosstool2/gcc-4.1.2-glibc-2.3.2/arm-unknown-linux-gnu > --with-headers=/opt/crosstool2/gcc-4.1.2-glibc-2.3.2/arm-unknown-linux-gnu/a > rm-unknown-linux-gnu/include > --with-local-prefix=/opt/crosstool2/gcc-4.1.2-glibc-2.3.2/arm-unknown-linux- > gnu/arm-unknown-linux-gnu --disable-nls --enable-threads=posix > --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++,java > --enable-shared --enable-c99 --enable-long-long > Thread model: posix > gcc version 4.1.2 > > The cross toolchain has been compiled with crosstool 0.43 from Dan Kegel. OK, it looks like the toolchain is totally misconfigured. My guess is that this version of gcj on ARM doesn't work at all. You need -fcheck-references in that spec file, and the whole library needs to be compiled with it. I have no idea whether gcj 4.1.2 ever worked on ARM; I'm beginning to think not. Have a good look at http://gcc.gnu.org/svn/gcc/trunk/libjava/configure.host and make sure that the arm*-linux* sections are correct. This will help, but I suspect that gcj 4.1.2 will never work properly on ARM. You need something much more recent. Andrew. # # This spec file is read by gcj when linking. # It is used to specify the standard libraries we need in order # to link with libgcj. # %rename lib liborig *lib: -lgcj -lm -lpthread -ldl %(libgcc) %(liborig) *jc1: -fuse-divide-subroutine -fuse-boehm-gc -fnon-call-exceptions -fkeep-inline-functions