[kaffe] I'm going on porting in the XScale(PXA 255) board. But, I have error message.

Dalibor Topic robilad at kaffe.org
Tue Jan 10 12:05:49 PST 2006

임동기 wrote:
> Hi~
> I have a XScale(PXA 255) board.
> I want to use kaffe on this board.


> But, After porting I have error messages.
> What do I commit a fault?

It seems to me that your compiler & binutils do not like each other much.

> Do you recommend me a cross compiler and configure method and so on?

I'd recommend configuring Kaffe to use the interpreter and jthreads for
your platform, first, as that should be easier to debug. Make sure that
you read FAQ.crosscompilation. Using libffi would also be an option,
should you encounter trouble with the sysdepCallMethod later.

> +# This is auto configuration script for EZ-X5-board.

Make sure that you use the cross compiler toolchain from the board vendor.

> diff -urN kaffe-1.1.4.org/include/jsyscall.h kaffe-1.1.4/include/jsyscall.h
> --- kaffe-1.1.4.org/include/jsyscall.h 2003-08-30 23:18:23.000000000 +0900
> +++ kaffe-1.1.4/include/jsyscall.h 2004-08-10 15:34:53.000000000 +0900
> @@ -14,7 +14,7 @@
> struct sockaddr;
> struct timeval;
> -struct fd_set;
> +//struct fd_set;
> struct stat;
> struct hostent;

that patch looks interesting, why was it necessary?

> 3. When I configue, I use this configure options.
> ========== configure ========================================

Is there a specific reason why you're passing __XSCALE__ to the compiler?

> 4. When I have it make, I have error messages.
> ========== error msg
> ================================================================================
> configure:2489: arm-linux-gcc -D__XSCALE__ -I/usr/arm-linux/include
> conftest.c -L/usr/arm-linux/lib >&5
> /tmp/cc8soIWp.s: Assembler messages:
> /tmp/cc8soIWp.s:7: Warning: rest of line ignored; first ignored
> character is `@'
> /tmp/cc8soIWp.s:8: Warning: rest of line ignored; first ignored
> character is `@'
> /tmp/cc8soIWp.s:9: Error: too many memory references for `mov'
> /tmp/cc8soIWp.s:10: Error: no such instruction: `stmfd sp!,{fp,ip,lr,pc}'
> /tmp/cc8soIWp.s:11: Error: too many memory references for `sub'
> /tmp/cc8soIWp.s:12: Error: expecting operand after ','; got nothing
> /tmp/cc8soIWp.s:13: Error: too many memory references for `mov'
> /tmp/cc8soIWp.s:14: Error: no such instruction: `ldmea fp,{fp,sp,pc}'

There is no explicit stmfd instruction anywhere in Kaffe's assembler
code, afaict (might be diifferent for 1.1.4, though, I have not checked.
You can run grep yourself to see if I am right with yout checkout ;).

I believe that your compiler outputs instructions that your assembler
does not have. Check with your toolchain or board vendor to see how to
set it up properly. I'd recommend first cross-compiling and runnign the
GNU hello package, to make sure that your cross-compilation setup really
works as it should.

dalibor topic

More information about the kaffe mailing list