[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
cross-compiling:
-msoft-float
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
cross-compilation.
-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
http://gcc.gnu.org/onlinedocs/gcc-3.3.2/gcc/ARM-Options.html#ARM%20Options
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.
cheers,
dalibor topic
More information about the kaffe
mailing list