I started to build on arm/linux with CVS head. And I noticed, there should be a kernel version related problem. According to the ML archive, this port was reported to work by Iliverez (http://www.kaffe.org/pipermail/kaffe/2006-March/104166.html) but the report does not mention kernel version.
I am now using 'Linux debian 2.6.18-4-versatile' running on QEMU, and without modifying anything, compilation stops with ----------------------------------------------------------------------- md.c: In function 'flush_dcache': md.c:39: error: expected ':' or ')' before '__sys1' md.c:35: warning: unused parameter 'start' md.c:35: warning: unused parameter 'end' make[2]: [libkaffevm_la-md.lo] Error 1 (ignored) ----------------------------------------------------------------------- Since 'flush_dcache' is not needed for intrp engine, I temporally comment out the function definition, and compilation is ok, and regression tests report 5 errors. Then I have to start to test the arm/linux port with jit engine, and this means I really have to make the flush_dcache function. When I check the definition '__sys1' in include file, I noticed this should not be compiled. According to the code segment in '/usr/include/asm/unistd.h' ----------------------------------------------------------------------- #ifdef __KERNEL__ #include <linux/linkage.h> #define __sys2(x) #x #define __sys1(x) __sys2(x) ----------------------------------------------------------------------- the __sys1 definition should not be invoked if SYMBOL '__KERNEL__' is ont defined. (Of course, this ifdef is mainly used to determine whether the source is now compiled to build kernel or not) I have no idea to track back the change for this file, but this may be introduced recently, and the kaffe build becomes fail. When I enforce symbol '__KERNEL__' defined in 'md.c', the compilation (only) works. So, what is the best way to fix this compilation problem? I can think, 1) Define '__KERNEL__' in md.c 2) Copy __sys1(x) and several other defs needed from 'unistd.h' 3) Revert the def for flush_dcache without using __sys1 as candidates. Any suggestion? Kiyo _______________________________________________ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe