[kaffe] undefined refernce to 'd0'

Kiyo Inaba inaba at src.ricoh.co.jp
Thu Jul 24 22:43:01 PDT 2003


Ciao Riccardo,

Sorry for late reply for this issue. I finally set up my cross build
environment for m68k-netbsd (thanks for well organized cross build
tool chain in recent netbsd!).

>gcc -g -Wall -Wstrict-prototypes -o .libs/kaffe-bin main.o version.o .
>libs/kaffe-binS.o -Wl,--export-dynamic  ../kaffevm/.libs/libkaffevm.so -
>lm ../../libltdl/.libs/libltdlc.a -Wl,--rpath -Wl,/usr/local/kaffe/jre/
>lib/m68k
>./kaffevm/.libs/libkaffevm.so: undefined reference to `d0'
>gmake[2]: *** [kaffe-bin] Error 1
>
>is d0 an internal symbol of kaffe or is it part of some system library ?

I have not yet fixed this problem, but I noticed this error comes
from 'FLUSH_DCACHE' macro defined in 'config/m68k/jit.h'. This macro
is needed for keep consistency for jitted code (which is first put
in DCACHE, but shall be in ICACHE when executed).

So if you luckily use mc68020 or mc68030 based machine just delete
__clear_cache for this def (because these machine does not have
distinction between DCACHE and ICACHE) and everything may work fine.
If your machine is based mc68040 or mc68060, we have to find out
better way. If I remember correctly, recent netbsd supports this
in system call, but I have not yet checked for the man page.

And anyway, for (very) short term solution, try configuring with
'--with-engine=intrp' and you can get better result (with slower
performance).

Kiyo




More information about the kaffe mailing list