[kaffe] Build Kaffe 1.1.6 using gcc 3.3.1 on QNX 6.3.0, x86 processor

Tedd Alevo alevo at webtopio.com
Fri Nov 11 05:26:47 PST 2005


Dear List,

I'm trying to build kaffe using the system specified above. My C and C++ knowledge is rather a bit out of date, so I don't know if I've done the right things.
I did use the following configure-call:

/configure --host=i586-qnx --build=i586-qnx --without-X --without-native-awt
  --without-classpath-gtk-awt --without-alsa --without-esd --enable-pure-java-math
  --disable-boehm-gc-configuration

I had to hack a few things, hopefully I did the right things, but I'm open to new suggestions. This is waht I did:

/config/i386/atomic.h:

Changed

typedef int8_t atomic8_t;
typedef uint8_t uatomic8_t;
typedef int_fast8_t atomic_fast8_t;
typedef uint_fast8_t uatomic_fast8_t;

typedef int16_t atomic16_t;
typedef uint16_t uatomic16_t;
typedef int_fast16_t atomic_fast16_t;
typedef uint_fast16_t uatomic_fast16_t;

typedef int32_t atomic32_t;
typedef uint32_t uatomic32_t;
typedef int_fast32_t atomic_fast32_t;
typedef uint_fast32_t uatomic_fast32_t;

typedef int64_t atomic64_t;
typedef uint64_t uatomic64_t;
typedef int_fast64_t atomic_fast64_t;
typedef uint_fast64_t uatomic_fast64_t;

to

typedef int8_t atomic8_t;
typedef uint8_t uatomic8_t;
typedef atomic8_t int_fast8_t;
typedef uatomic8_t uint_fast8_t;
typedef int_fast8_t atomic_fast8_t;
typedef uint_fast8_t uatomic_fast8_t;

typedef int16_t atomic16_t;
typedef uint16_t uatomic16_t;
typedef atomic16_t int_fast16_t;
typedef uatomic16_t uint_fast16_t;
typedef int_fast16_t atomic_fast16_t;
typedef uint_fast16_t uatomic_fast16_t;

typedef int32_t atomic32_t;
typedef uint32_t uatomic32_t;
typedef atomic32_t int_fast32_t;
typedef uatomic32_t uint_fast32_t;
typedef int_fast32_t atomic_fast32_t;
typedef uint_fast32_t uatomic_fast32_t;

typedef int64_t atomic64_t;
typedef uint64_t uatomic64_t;
typedef atomic64_t int_fast64_t;
typedef uatomic64_t uint_fast64_t;
typedef int_fast64_t atomic_fast64_t;
typedef uint_fast64_t uatomic_fast64_t;

which is what I was told this file looks like in a building linux dist.

Additionally I had to edit /config/i386/qnx/md.h, since struct _sigcontext wasn't approved by the compiler.
I have changed ulong_t to uint32_t, ushort_t to uint16_t and uchar_t to uint8_t.

Now I'm stuck with a compiler error that I can't handle anymore:
"error: can't find a register in class `GENERAL_REGS' while reloading `asm'"

I'd appreciate your help. Below is some error-msg context. Thank you all!



Alevo

(...)
Making all in kaffe/kaffevm
make[1]: Entering directory `/root/kaffe-1.1.6/kaffe/kaffevm'
Making all in jit
make[2]: Entering directory `/root/kaffe-1.1.6/kaffe/kaffevm/jit'
make  all-am
make[3]: Entering directory `/root/kaffe-1.1.6/kaffe/kaffevm/jit'
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../../config  -I../../../kaffe/kaffevm/systems/unix-pthreads -I../../../kaffe/kaffevm/jni -I.. -I./.. -DTRANSLATOR -I../../../kaffe/jvmpi -I../../../include -I/root/kaffe-1.1.6/./kaffe/kaffevm -I/root/kaffe-1.1.6/./kaffe/kaffevm/jit -I/root/kaffe-1.1.6/./kaffe/kaffevm/systems/unix-pthreads -I../../../replace -I../../../binreloc -I../../../config -I../../../include  -DKAFFE_VMDEBUG -D_REENTRANT  -O -fno-pack-struct   -MT methodcalls.lo -MD -MP -MF ".deps/methodcalls.Tpo" -c -o methodcalls.lo methodcalls.c;
then mv -f ".deps/methodcalls.Tpo" ".deps/methodcalls.Plo"; else rm -f ".deps/methodcalls.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../../../config -I../../../kaffe/kaffevm/systems/unix-pthreads -I../../../kaffe/kaffevm/jni -I.. -I./.. -DTRANSLATOR -I../../../kaffe/jvmpi -I../../../include -I/root/kaffe-1.1.6/./kaffe/kaffevm -I/root/kaffe-1.1.6/./kaffe/kaffevm/jit -I/root/kaffe-1.1.6/./kaffe/kaffevm/systems/unix-pthreads -I../../../replace -I../../../binreloc -I../../../config -I../../../include -DKAFFE_VMDEBUG -D_REENTRANT -O -fno-pack-struct -MT methodcalls.lo -MD -MP -MF .deps/methodcalls.Tpo -c methodcalls.c -o methodcalls.o
In file included from ../../../config/md.h:1,
                 from ../locks.h:18,
                 from machine.h:179,
                 from methodcalls.c:21:
./../../config/i386/qnx/md.h:19:19: warning: extra tokens at end of #undef directive
methodcalls.c: In function `engine_callMethod':
./../../config/i386/qnx/md.h:94: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
make[3]: *** [methodcalls.lo] Error 1
make[3]: Leaving directory `/root/kaffe-1.1.6/kaffe/kaffevm/jit'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/kaffe-1.1.6/kaffe/kaffevm/jit'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/kaffe-1.1.6/kaffe/kaffevm'
make: *** [all-recursive] Error 1

_____________________________________________________
 - by webtopio.com





More information about the kaffe mailing list