Subject: Binary backward compatibility
To: None <tech-userlevel@NetBSD.org>
From: Alan Barrett <apb@cequrux.com>
List: tech-userlevel
Date: 10/12/2007 11:50:53
On Thu, 11 Oct 2007, Aleksey Cheusov wrote:
> Do you mean that ALL/MOST programs/packages built for older NetBSD
> releases should work without recompilation with newer NetBSD versions
> and NetBSD releases are ALWAYS binary backward compatible with older
> releases?
>
> Or at least there is such goal?
Yes, it's a goal, and we usually get it right (provided the new kernel
is built with appropriate COMPAT_* options), but there are some
exceptions. Exceptions that I can remember or suspect are:
* We sometimes decide not to care about binary compatibility with
un-released old versions of NetBSD-current, especially if the window
of incompatibility is only a few days.
* There have sometimes been incompatible ABI changes in small
subsystems; for example, old versions of the ipf(8) userland tools
don't always work with new kernels, and old versions of the firmware
for certain devices don't always work with new kernels.
* There was an incompatible change to the threading model when the
newlock2 branch was merged in February 2007; this requires both
libpthread.so and the kernel to be in sync.
* I don't know how good we are about binary compatibility with old
versions of emulated non-NetBSD operating systems.
--apb (Alan Barrett)