[kaffe] Build error while porting to ARM-LINUX
Heejune AHN
heejune at snut.ac.kr
Sat May 15 05:16:01 PDT 2004
Hi, kaffe developer,
I am porting Kaffe on Xscale (ARM) based Linux board.
I had problems, one for graphic libraries, and the other for floating point operation in ARM
Here I ask help only for the "float-point" issue.
I managed to set up, software floating point enable toolchain.
This is the version log for my arm-linux-gcc tool:
[root at heejune kaffevm]# arm-linux-gcc -v
> Reading specs from /usr/local/arm-linux/lib/gcc-lib/arm-linux/3.2.1/specs
> Configured with: ./configure --target=arm-linux --prefix=/usr/local/arm-linux --with-headers=/cross/src/cotulla/include --disable-shared --disable-threads --enable-languages=c --with-cpu=xscale --with-inhibit-libc --with-newlib --without-fp : (reconfigured) ./configure --target=arm-linux --prefix=/usr/local/arm-linux --with-headers=/cross/src/cotulla/include --disable-shared --disable-threads --enable-languages=c --with-cpu=xscale --with-inhibit-libc --with-newlib --without-fp : (reconfigured) ./configure --target=arm-linux --prefix=/usr/local/arm-linux
> --with-headers=/cross/src/cotulla/include --enable-languages=c,c++ --with-cpu=xscale --without-fp
> Thread model: posix
> gcc version 3.2.1
And I confirm it works using simple program.
The function works fine.
#include <stdio.h>
> int main(){
> float f1,f2;
> double d1, d2;
>
> d1 = 1.0E+2;
> d2 = 3.0E-1;
>
> f1 = 3.4;
> f2 = 4.7;
>
> printf(" the float results = %e", f1*f2);
> printf(" the double results = %e", d1*d2);
>
> }
I checked according to JIM PICK's comments, thank you very much JIM.
And found the 2 in-line assemble codes is keeing make a trouble to me....^^;
My requests is to support a "C code" for the two in-line assembles.
Can we replace them with C codes? I donot care performance at the moment,
Cause, I am really want it first work correctly on my Board.
Thanks.
--------------
Heejune AHN, Assistant Professor
Dept. CIE, Seoul National University of Technology
mobile: +82-10-3065-5418
office : +82-2-970-6543
http : cie.snut.ac.kr/ahn
----------------------------------
----- Original Message -----
From: "Jim Pick" <jim at kaffe.org>
To: "안희준" <heejune at snut.ac.kr>
Sent: Friday, May 14, 2004 3:09 AM
Subject: Re: Build error while porting to ARM-LINUX
> Hi,
>
> Floating point support is always fun, especially on platforms that must
> use software floating point emulation.
>
> The file config/arm/sysdepCellMethod.h has inline assembly for ARM that
> uses floating point instructions. Some ARM toolchains that support
> "hard floating point" will use those opcodes in the resulting binary,
> and so the binary will only work on ARM chips that have floating point
> (or with operating systems such as Linux that have support for trapping
> the floating point instructions, and emulating them in the kernel).
> Some ARM toolchains have support for "soft floating point" (eg. gcc
> -msoft-float), where the toolchain will replace the floating point
> instructions with fixed point libraries.
>
> I haven't been played with soft float support and Kaffe, so I'm not sure
> if it works. You could ask on the mailing list. I have been able to
> run Kaffe on my ARM Linux box, which has floating point emulation in the
> kernel (so it was compiled with "hard" floating point support).
>
> Kaffe does not have it's own floating point emulation support, so it's
> dependent on the toolchain and/or kernel for floating point emulation.
>
> My guess is that your toolchain doesn't have floating point support, so
> you probably need to look closely at your toolchain.
>
> Cheers,
>
> - Jim
>
> 안희준 wrote:
> > Can you check this for us?
> >
> > We are trying to build kaffe for ARM based Linux machine.
> >
> > But here I found error which I cannot handle now.
> >
> > The assembler complains "THEY CANNOT SUPPORT FLOAT-POINT OPERATION IN
> > ARM" ^^;
> >
> >
> >
> > I wish kind understanding...
> >
> >
> > ===========================
> > aking all in kaffe
> > make[1]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe' 디렉토리
> > Making all in kaffeh
> > make[2]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffeh' 디렉토리
> > make[2]: Nothing to be done for `all'.
> > make[2]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffeh' 디렉토리
> > Making all in kaffevm
> > make[2]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm' 디렉토리
> > Making all in jit
> > make[3]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/jit' 디렉토리
> > make[3]: Nothing to be done for `all'.
> > make[3]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/jit' 디렉토리
> > Making all in systems
> > make[3]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/systems' 디렉토리
> > Making all in unix-jthreads
> > make[4]: 들어감
> > `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/systems/unix-jthreads' 디렉토리
> > make[4]: Nothing to be done for `all'.
> > make[4]: 나감
> > `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/systems/unix-jthreads'
> > 디렉토리
> > make[4]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/systems' 디렉토리
> > make[4]: Nothing to be done for `all-am'.
> > make[4]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/systems' 디렉토리
> > make[3]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/systems' 디렉토리
> > Making all in gcj
> > make[3]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/gcj' 디렉토리
> > make[3]: Nothing to be done for `all'.
> > make[3]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm/gcj' 디렉토리
> > make[3]: 들어감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm' 디렉토리
> > if /bin/sh ../../libtool --mode=compile arm-linux-gcc -DHAVE_CONFIG_H
> > -I. -I../../../kaffe-1.1.4/kaffe/kaffevm -I../../config
> > -I../../include/kaffe
> > -I../../../kaffe-1.1.4/kaffe/kaffevm/systems/unix-jthreads
> > -I../../kaffe/kaffevm/jit -I../../../kaffe-1.1.4/kaffe/kaffevm/jit
> > -I../../../kaffe-1.1.4/libltdl -DTRANSLATOR
> > -I../../../kaffe-1.1.4/kaffe/jvmpi -I../../../kaffe-1.1.4/kaffe/xprof
> > -I../../include
> > -I/root/Kaffe/kaffe-arm-linux/../kaffe-1.1.4/kaffe/kaffevm
> > -I/root/Kaffe/kaffe-arm-linux/../kaffe-1.1.4/kaffe/kaffevm/jit
> > -I/root/Kaffe/kaffe-arm-linux/../kaffe-1.1.4/kaffe/kaffevm/systems/unix-jthreads
> > -I../../../kaffe-1.1.4/config -I../../../kaffe-1.1.4/include
> > -DKAFFE_VMDEBUG -g -O2 -Wall -Wstrict-prototypes
> > -fsigned-char -MT support.lo -MD -MP -MF ".deps/support.Tpo" -c -o
> > support.lo ../../../kaffe-1.1.4/kaffe/kaffevm/support.c; \
> > then mv -f ".deps/support.Tpo" ".deps/support.Plo"; else rm -f
> > ".deps/support.Tpo"; exit 1; fi
> > arm-linux-gcc -DHAVE_CONFIG_H -I. -I../../../kaffe-1.1.4/kaffe/kaffevm
> > -I../../config -I../../include/kaffe
> > -I../../../kaffe-1.1.4/kaffe/kaffevm/systems/unix-jthreads
> > -I../../kaffe/kaffevm/jit -I../../../kaffe-1.1.4/kaffe/kaffevm/jit
> > -I../../../kaffe-1.1.4/libltdl -DTRANSLATOR
> > -I../../../kaffe-1.1.4/kaffe/jvmpi -I../../../kaffe-1.1.4/kaffe/xprof
> > -I../../include
> > -I/root/Kaffe/kaffe-arm-linux/../kaffe-1.1.4/kaffe/kaffevm
> > -I/root/Kaffe/kaffe-arm-linux/../kaffe-1.1.4/kaffe/kaffevm/jit
> > -I/root/Kaffe/kaffe-arm-linux/../kaffe-1.1.4/kaffe/kaffevm/systems/unix-jthreads
> > -I../../../kaffe-1.1.4/config -I../../../kaffe-1.1.4/include
> > -DKAFFE_VMDEBUG -g -O2 -Wall -Wstrict-prototypes -fsigned-char -MT
> > support.lo -MD -MP -MF .deps/support.Tpo -c
> > ../../../kaffe-1.1.4/kaffe/kaffevm/support.c -fPIC -DPIC -o .libs/support.o
> > /tmp/cctnDIxg.s: Assembler messages:
> > /tmp/cctnDIxg.s:2347: Error: selected processor does not support `stfd
> > f0,[r3,#0]'
> > /tmp/cctnDIxg.s:2357: Error: selected processor does not support `stfs
> > f0,[r3,#0]'
> > make[3]: *** [support.lo] 오류 1
> > make[3]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm' 디렉토리
> > make[2]: *** [all-recursive] 오류 1
> > make[2]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe/kaffevm' 디렉토리
> > make[1]: *** [all-recursive] 오류 1
> > make[1]: 나감 `/root/Kaffe/kaffe-arm-linux/kaffe' 디렉토리
> > make: *** [all-recursive] 오류 1
> > [root at heejune kaffe-arm-linux]#
> >
> >
> >
> >
> >
> >
> > ----------------
> > Ahn, Heejune, Assistant Professor, PhD
> > Dept. CIE of Seoul National University of Technology
> > mobile: +82-1-3065-5418
> > office : +82-2-970-6543
> > www : cie.snut.ac.kr/ahn
> > ----------------------------------------------
>
More information about the kaffe
mailing list