On Sat, 10 May 2008, Mike Meyer wrote:
On Sat, 10 May 2008 13:50:48 +0100 (BST)
Robert Watson <[EMAIL PROTECTED]> wrote:
On Mon, 5 May 2008, Julian Elischer wrote:
basically if you rely only on the standard posix interfaces and don't do
anything exotic then you will "probably" be safe.
For "raw" UNIX applications, this rule of thumb works well, but not for
applications that depend on third-party libraries, languages, or daemons.
You can lose the dependency on third party libraries by compiling your
application to a static binary. That will also help with the few breakages
that occur with the system libraries, and with compatibility across major
releases using the backwards compatX packages.
However, if you do that, we'll probably shoot you in the foot by removing
kernel support for the thread library you are linking against. Since the
removal of KSE, it appears our ABI compatibility promise is at the libc or
libpthread layer, and not at the system call layer. We haven't done the
necessary compat work to let 6.x binaries using libkse work on an 8.x system
yet, but will presumably do that with a backport of libthr to a 6.x userspace
(i.e., 6.x library version).
On almost all (serious) OS's I'm aware of, static linking for applications is
essentially forbidden for that reason -- vendors promise library
compatibility, not system call compatibility, and rely on being able to change
the implementations of system calls.
Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"