Linux AOut & DLD support fixed

Michael Koehne kraehe at
Sat Dec 13 17:22:16 PST 1997

Hy folks,

	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 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 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 
	  undefined symbols.

	It is NOT posible to dld-link, 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.

By Michael
 mailto:kraehe at

More information about the kaffe mailing list