Hi Andrew, Opening your link, I have noticed that the fcheck-references is defined for arm-elf CPU. Also the arm-elf family is compatible with the processor I am working with (PXA270). Then I will build a new toolchain for arm-elf based on gcc 4.1.2 and make new tests. What do you think? Best Regards, David Sayada. -----Original Message----- From: Andrew Haley [mailto:aph-gcc@xxxxxxxxxxxxxxxxxxx] Sent: Thursday, September 06, 2007 12:21 PM To: David Sayada Cc: classpath@xxxxxxx; 'Amnon David' Subject: RE: SIGSEGV issue 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