[kaffe] kaffe compilation problem

Dalibor Topic robilad at kaffe.org
Fri Jan 2 12:45:02 PST 2004

Hi Phoebus,

林君翰 wrote:
> Hi
> I tried to compile kaffe 1.1.3, but there is something wrong about that.
> export CC=arm-linux-gcc
> export AR=arm-linux-ar
> export NM=arm-linux-nm
> export KAFFEH=/aaa/bin/kaffeh
> ./configure --prefix=/bbb --build=i386-linux --host=arm-linux --without-x 
> --enable-pure-java-math --with-includes=/usr/local/arm-linux/include 
> --with-libraries=/usr/local/arm-linux/lib
> arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../config -I../../include/kaffe 
> -I../../kaffe/kaffevm/systems/unix-jthreads -I../../kaffe/kaffevm/jit 
> -I../../kaffe/kaffevm/jit -I../../libltdl -DTRANSLATOR -I../../kaffe/jvmpi 
> -I../../kaffe/xprof -I../../include -DKVER=\"1.1.3\" 
> -I/DBPXA255/work/kaffe-1.1.3/./kaffe/kaffevm 
> -I/DBPXA255/work/kaffe-1.1.3/./kaffe/kaffevm/jit 
> -I/DBPXA255/work/kaffe-1.1.3/./kaffe/kaffevm/systems/unix-jthreads 
> -I../../config -I../../include -I/usr/local/arm-linux/include 
> -DKAFFE_VMDEBUG -g -O2 -Wall -Wstrict-prototypes -fsigned-char
> -MT support.lo -MD -MP -MF .deps/support.Tpo -c support.c  -fPIC -DPIC -o 
> .libs/support.o
> /tmp/cccojFSa.s: Assembler messages:
> /tmp/cccojFSa.s:2349: Error: selected processor does not support `stfd 
> f0,[r3,#0]'
> /tmp/cccojFSa.s:2359: Error: selected processor does not support `stfs 
> f0,[r3,#0]'
> make[3]: *** [support.lo] Error 1
> make[3]: Leaving directory `/DBPXA255/work/kaffe-1.1.3/kaffe/kaffevm'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/DBPXA255/work/kaffe-1.1.3/kaffe/kaffevm'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/DBPXA255/work/kaffe-1.1.3/kaffe'
> make: *** [all-recursive] Error 1
> what may be the reason for this.

Googling for the error message from the compiler (always a good
technique!) shows that the error comes from floating point instructions
not being supported by your processor.

The usual way to deal with that is to tell gcc to use a software
implementation of floating point instructions, -msoft-float for arm. But
 according to gcc docs, that won't work that well when you're

    Generate output containing library calls for floating point.
Warning: the requisite libraries are not available for all ARM targets.
Normally the facilities of the machine's usual C compiler are used, but
this cannot be done directly in cross-compilation. You must make your
own arrangements to provide suitable library functions for

    -msoft-float changes the calling convention in the output file;
therefore, it is only useful if you compile all of a program with this
option. In particular, you need to compile libgcc.a, the library that
comes with GCC, with -msoft-float in order for this to work.

Taken from

The best way to proceed now is to figure out how to use -msoft-float on
your platform when you're cross-compiling. I can't help you with that,
unfortunately. But I'd be very interested in hearing if you succeed or fail.

dalibor topic

More information about the kaffe mailing list