RFC: libkse*.a in 7.0

David Schultz das at FreeBSD.ORG
Mon Dec 10 11:36:36 PST 2007


On Wed, Nov 28, 2007, Robert Watson wrote:
> It's worth noting that some other mainstream operating systems work hard to 
> disallow static linking for precisely this sort of reason -- when I last 
> checked, Mac OS X had only one statically linked binary, init, and it may 
> well be that launchd is dynamically linked.  This is part of a very 
> explicit policy that the defined ABI for applications is *not* the system 
> call layer, but rather, the library interfaces, which gives greater 
> flexibility to modify the system call interface as needed.

Solaris has done this for well over a decade, and as a
consequence, they have a stable ABI without adding a bunch of
compat garbage to the kernel. It's mostly done via symbol
versioning in libc and other libraries.

Note that it's possible to *provide* static libraries without
*supporting* them. People can link their apps statically if they
so desire, with the understanding that they will need to recompile
when they upgrade to the next major release of FreeBSD.

Apologies for replying to an old thread. I'm catching up on my email!


More information about the freebsd-arch mailing list