[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Kaffe porting issues

I've been doing some work to ensure kaffe's availability on the
ia64 port. 1.0.6 has yet to make it into testing, and there is
much work to be done if woody is to ship with a reasonably
up-to-date version.

I'm cc'ing the ports in question in hopes that some of these
problems can be solved by developers more familiar with those
platforms. I haven't included s390, because the failure to build
there seems to involve several missing dependencies, and I would
guess that the lack of kaffe on that platform won't affect the
package's ability to get into woody.

buildd.debian.org/build.php reports that the latest package does
not build on mips, mipsel, hppa, and sparc. 

I can get kaffe 1.0.6 to build on ia64 through one of two
mechanisms: using libffi to handle the arch-specific stuff, or by
using patches from Mandrake that configure ia64 correctly. (In
either case, a config.{sub,guess} update is required.)

With 1.0.6, I get a memory error when setting up the jvm; I
have yet to successfully track down the problem.

The CVS version of kaffe is much more promising. With Mandrake's
patches applied, the ia64 jvm builds and executes correctly, so
taking a CVS snapshot is attractive from the standpoint of
getting ia64 support into woody.

On mips, the current problem with both 1.0.6 and CVS is that an
include of sigcontext.h should actually be asm/sigcontext.h; the
i386-specific headers included with kaffe properly handle this
via #ifdef, so that can be easily remedied.

The mips/CVS kaffe code, though, has another problem: mips1 and
mips2 do not support the 'movn' assembler instruction used, so
that will have to be rewritten, or the code compiled exclusively
for mips3.

hppa is not supported at all; the only parisc configuration files
are for hpux, not linux. This may be circumventable via libffi,
or the existing hpux configuration files might be useful to
create linux ones.

On sparc, struct sigcontext is defined twice, both in 1.0.6 and
CVS. This should be easy to solve.


Decent java support in woody seems like a reasonable goal, so any
help in resolving these issues would be appreciated, as would any
suggestions regarding kaffe 1.0.6 (1.5 years old now) vs. a
current CVS snapshot.

I'm including a table summarizing the state of affairs.

                      1.0.6             1.0.6           CVS             CVS   
                      build            execute         build          execute 
     ia64   w/ patch                   no      w/ patch               yes     
     hppa   needs config               n/a     needs config           n/a     
   mips(el) patch                      unknown patch, needs assembler n/a     
    sparc   struct sigcontext defined  n/a     struct sigcontext      n/a     
            twice                              defined twice          

John R. Daily                                    Progeny Linux Systems
Consultant                                          jdaily@progeny.com
               Master of the ephemeral epiphany

Reply to: