RFC: libkse*.a in 7.0

Alfred Perlstein alfred at freebsd.org
Mon Dec 10 11:39:09 PST 2007


* David Schultz <das at FreeBSD.ORG> [071210 11:36] wrote:
> 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.

Yup.

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

This is a very good point.

It's very typical for vendors to statically link things though
because of cluelessness over shared libs, we should discourage,
_without overly penalizing_, them if they attempt to do so.

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

Well, your comments are still insightful... :)

-- 
- Alfred Perlstein


More information about the freebsd-arch mailing list