Kaffe on PXA255 runs now, I had to apply the attached patch. When you use arm-linux-gcc from GCC 3.3.x AND you specify either -march=xscale or -mcpu=xscale, then __XSCALE__ is automatically defined.
If you compile kaffe with arm-linux-gcc-2.95.3, then you could do something like CFLAGS="-D__XSCALE__" ../cvshead/configure ... -- Try Linux 2.6 from BitKeeper for PXA2x0 CPUs at http://www.mn-logistik.de/unsupported/linux-2.6/
# # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher # --- head/config/arm/linux/md.h~pxa +++ head/config/arm/linux/md.h @@ -79,7 +79,11 @@ * figured by looking at sysdeps/arm/bits/setjmp.h * and sysdeps/arm/setjmp.S from glibc */ +#ifdef __XSCALE__ +#define SP_OFFSET 20 +#else #define SP_OFFSET 8 +#endif #define FP_OFFSET 7 #endif --- head/config/arm/threads.h~pxa +++ head/config/arm/threads.h @@ -24,6 +24,10 @@ * This is the offset into the setjmp buffer where the stack pointer is * stored. This may be different with different OSes. */ +#ifdef __XSCALE__ +#define SP_OFFSET 20 +#else #define SP_OFFSET 23 +#endif #endif
