binary compatibility query
kris at FreeBSD.org
Mon May 5 14:39:35 UTC 2008
Daniel Eischen wrote:
>> Binaries compiled on a certain version of FreeBSD will continue to run
>> on later versions, but are not guaranteed to run on earlier versions
>> (and in fact *will* not run depending on the binary). This is because
>> over time the system libraries and kernel grow new features which may
>> be used by applications, so they will therefore fail to run if
>> executed on old systems that do not provide these features.
> For 7.0 and onwards, we will hopefully have a tool that you can
> run on your application to do abi checking. One of the things
> it should be able to do is tell under what releases it will run,
> including previous releases.
That sounds like a good idea!
> For 6.x, you may be able to manually check the symbols your
> application uses against the libraries from 6.0, 6.1, etc.
> This should give a good idea as to whether your application
> will run on those releases. I think checking symbols is
> good enough for releases within a branch since we don't
> change ABIs.
Yeah, this should be enough for almost all cases. There are some
aspects of the ABI that are not covered by library symbols though, such
as file formats, the sysctl MIB, device ioctls, probably others.
More information about the freebsd-hackers