Linux AOut & DLD support fixed
kraehe at bakunin.north.de
Sat Dec 13 17:22:16 PST 1997
here comes my fix for Linux/Aout and GNU-DLD. I'm using GNU-DLD
in an own project, and kaffe implementation looks as if is has
never worked. I've also tried to bring SAWT or BISS-AWT running
at 0.92, but even if they now compile/link clean, both fail when
sun.awt asks for Toolkit.getFontPeer. I'm asuming that both are
broken when JDK1.1 changed peer semantics. Unfortunately kaffe
is unable to use an old JDK102 classes.zip and exits with :
gc-mem.c:175: failed assertion `(uintp)mem >= (uintp)blk && (uintp)mem < (uintp)blk + gc_pgsize'
It would be nice to allow 102 classes.zip to work in the next minor
Anyway, some words about DLD. DLD is slow and dynamic linking
using DLD will eat more memory than static linking against a
jumplib. The reason for that is how DLD works.
- dld-link an OBJECT file
- ask for a function (you hope its in the object)
- dld-link libX11.a,libm.a and libm.a to the program to resolve
It is NOT posible to dld-link libX11.sa, so the result will be
much bigger. So aout systems will probately live better with
--enable-staticlib and linking agains the .sa jump libraries.
For this reason this patch also include fixes for the external
wrappers. A last thing about dld linking is that continuing
with unresolved symbols (to go the java way of throwing an
exeption and showing an error) will either dump core (if you
are lucky) or swap dead. For this reason any failure at dld
linking will just printf an error (in the hope that printf/stdio
was allready in) and immediate exit(-1).
A last thing touched by the patch are naming conventions. I
dislike calling the libs libnative.o. IMHO they should stay
libkaffe_native.o and so on, to avoid to overwrite other stuff.
For the same reason I dislike installing the kaffe/scripts,
because I had to restructure my appletviewer and a lot of
other scripts from a backup, after a make install. It would
be better to have a minimal install (just enough to make test)
and a message of how to install other things.
mailto:kraehe at bakunin.north.de http://human.is-bremen.de/~kraehe
" CETERUM CENSEO MSDOS ESSE DELENDAM "
More information about the kaffe