Hello, I'm currently trying to add a recent kaffe with Qt Backend to the OpenEmbedded package database (www.openembedded.org).
The current CVS version got a problem with ARM lacking behind the JIT changes and it is generally not cross compileable. I'm not using 1.0.x and not 1.1.x as they do not succesfully compile either (not even for x86). ARM and Jit: --- kaffe/config/arm/jit-arm.def~fix-compile.patch +++ kaffe/config/arm/jit-arm.def @@ -655,7 +655,7 @@ define_insn(epilogue, epilogue_xxx) { - setEpilogueLabel ((uintp)CODEPC); + KaffeJIT_setEpilogueLabel ((uintp)CODEPC); --- kaffe/config/arm/jit3-arm.def~fix-compile.patch +++ kaffe/config/arm/jit3-arm.def @@ -684,7 +684,7 @@ define_insn(epilogue, epilogue_xxx) { - setEpilogueLabel ((uintp)CODEPC); + KaffeJIT3_setEpilogueLabel ((uintp)CODEPC); /* Should restore floating point state here !!! F4-F7 */ are needed to actually compile kaffe-bin. And now onto the issues with Cross Compilation: 1.) a native kaffeh build is needed 2.) various tests as ALIGNMENTOF_VOIDP fail as they try to run these test. This CAN'T work when cross compiling. I would wish for to specify these values on the configure cmd line. I'm an idiot on autotools so no patch is attached to fix that. 3.) after kaffe was sucesfully compiled, it tries to run kaffe-bin to optimize the .jar files. (This is where I'm now at). The question is what kind of optimisation is performed and if it couldn't be done when building kaffeh natively. I would be glad for any hints to cross compile them. kind regards holger -- _____________________________________________ Holger 'zecke' Freyther Project OPIE- the Open Palmtop Integrated Environment http://opie.handhelds.org Sponsor me! Donate Hardware! http://handhelds.org/~zecke
# # Patch managed by http://www.holgerschurig.de/patcher.html # --- kaffe/configure.ac~fix-compile.patch +++ kaffe/configure.ac @@ -824,15 +824,7 @@ dnl ========================================================================= dnl Checks for alignments dnl ------------------------------------------------------------------------- - -AC_CACHE_CHECK(alignment of void*, ac_cv_alignmentof_voidp, -AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> -main() { struct { char c; void *p; } t; FILE *f; - if ((char*) &t.c != (char*) &t) exit (1); - f=fopen ("conftestdata", "w"); - if (! f) exit (1); - fprintf (f, "%d", ((char*) &t.p)-((char*) &t)); - fclose(f); exit (0); }]])],[ac_cv_alignmentof_voidp=`cat conftestdata`],[AC_MSG_ERROR(Unexpected result)],[ac_cv_alignmentof_voidp=$ac_cv_sizeof_voidp])) +ac_cv_alignmentof_voidp=4 AC_DEFINE_UNQUOTED(ALIGNMENTOF_VOIDP,$ac_cv_alignmentof_voidp, [How are pointers aligned]) dnl ------------------------------------------------------------------------- --- kaffe/config/arm/jit-arm.def~fix-compile.patch +++ kaffe/config/arm/jit-arm.def @@ -655,7 +655,7 @@ define_insn(epilogue, epilogue_xxx) { - setEpilogueLabel ((uintp)CODEPC); + KaffeJIT_setEpilogueLabel ((uintp)CODEPC); /* Should restore floating point state here !!! F4-F7 */ --- kaffe/config/arm/jit3-arm.def~fix-compile.patch +++ kaffe/config/arm/jit3-arm.def @@ -684,7 +684,7 @@ define_insn(epilogue, epilogue_xxx) { - setEpilogueLabel ((uintp)CODEPC); + KaffeJIT3_setEpilogueLabel ((uintp)CODEPC); /* Should restore floating point state here !!! F4-F7 */
# # Patch managed by http://www.holgerschurig.de/patcher.html # --- kaffe/kaffe/kaffevm/boehm-gc/boehm/Makefile.am~makefile-fixes.patch +++ kaffe/kaffe/kaffevm/boehm-gc/boehm/Makefile.am @@ -25,17 +25,9 @@ EXTRA_DIST = ## more items will be succesively added below -if CPLUSPLUS extra = libgccpp.la -else -extra = -endif -if GC_CONVENIENCE -noinst_LTLIBRARIES = libgc.la $(extra) -else lib_LTLIBRARIES = libgc.la $(extra) -endif include_HEADERS = include/gc.h include/gc_local_alloc.h \ include/gc_pthread_redirects.h include/gc_config_macros.h \
pgptiBlIwMCsF.pgp
Description: PGP signature
_______________________________________________ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe