svn commit: r195767 - in head: . cddl/lib cddl/lib/libctf
cddl/lib/libdtrace gnu/lib/libdialog gnu/lib/libg2c
gnu/lib/libobjc gnu/lib/libreadline gnu/lib/libregex lib
lib/libalias/libalias lib/liba...
John Baldwin
jhb at freebsd.org
Mon Jul 20 13:52:02 UTC 2009
On Sunday 19 July 2009 1:25:24 pm Ken Smith wrote:
> Author: kensmith
> Date: Sun Jul 19 17:25:24 2009
> New Revision: 195767
> URL: http://svn.freebsd.org/changeset/base/195767
>
> Log:
> Bump the version of all non-symbol-versioned shared libraries in
> preparation for 8.0-RELEASE. Add the previous version of those
> libraries to ObsoleteFiles.inc and bump __FreeBSD_Version.
>
> Reviewed by: kib
> Approved by: re (rwatson)
I think we should figure out a plan for 9.0 for non-versioned libraries in the
base system. If we are still going to bump most libraries every release,
then I don't think symbol versioning is buying us much. I'm not sure if we
want to just add versioning to all non-versioned libraries in the base system
that aren't from contrib software, or if we want to relax the "bump
everything" policy back to the older policy of "bump when you make the first
ABI change" with a possible corollary of "add symbol versioning when you do".
I'd probably vote for the latter.
I know that someone missed bumping libm.so.2 at some point in the past because
they didn't realize that a change adjusted the ABI. However, the same issue
there exists with symbol versioning: you have to realize that you need to
bump the version of a symbol. If we are going to trust our developers to
manage the versions of versioned symbols, then we should trust them to manage
non-versioned library versions as well. Or the contrapositive: if we do not
trust them to manage non-versioned library versions, perhaps we can't trust
them (us) to manage symbol versions either.
I guess specifically I see a disconnect in that in our current policy we trust
developers to know when a change is an ABI change for a library with
versioned symbols, but we don't trust them to know when a change is an ABI
change for a library without versioned symbols. Either we trust developers
to recognize an ABI change or not. Whether or not the library has versioned
symbols doesn't change that, and the resulting mess if we get it wrong is
just as ugly in either case.
--
John Baldwin
More information about the freebsd-arch
mailing list