static executable w/DLL's

Dirk Grunwald grunwald at pa.dec.com
Tue Dec 29 13:44:55 PST 1998


For a number of reasons (primarily space and to simplify support), I'd
like to have a staticly linked "native" libraries (ie configure using
--with-staticlib) but still allow native libraries to be loaded.

This doesn't look possible in either the current custom or open
versions. The --with-staticlib option appears to muddle the notion of
pre-linked native functions and whether DLL's are actually supported
by the underlying O/S.

I'm assuming that there's no technical reason this can't be done (right?)
It would appear that I simply need to..

	(a) have configure set a new variable e.g. STATIC_NATIVE_LIBRARIES
	    (which is effective !NO_SHARED_LIBRARIES)

	(b) Provide macros such as SHARED_LIBRARYLOAD. If STATIC_NATIVE_LIBRARIES
	    is not set, simply become LIBRARYLOAD, etc.

	(c) change the appropriate code in external.c and slib.h

Also, at the same time, I noticed that symbol lookup in the "static
native" libraries is done by a simple loop and strcmp. How often is
this used, assuming you're using "static native" libraries and either
(a) intrp or (b) jit?  Is the value looked up once per call site (and
cached) or once per call? If it's once per call, I'll use a hashtable
to speedup the lookup.





More information about the kaffe mailing list