cvs commit: src/lib/msun Symbol.map
kabaev at gmail.com
Fri Dec 14 07:12:55 PST 2007
On Fri, 14 Dec 2007 00:48:51 -0500 (EST)
Daniel Eischen <eischen at vigrid.com> wrote:
> On Thu, 13 Dec 2007, Alexander Kabaev wrote:
> > On Fri, 14 Dec 2007 03:08:10 +0000 (UTC)
> > David Schultz <das at FreeBSD.org> wrote:
> >> das 2007-12-14 03:08:10 UTC
> >> FreeBSD src repository
> >> Modified files:
> >> lib/msun Symbol.map
> >> Log:
> >> Typo in previous commit
> >> Revision Changes Path
> >> 1.6 +2 -2 src/lib/msun/Symbol.map
> >> http://cvsweb.FreeBSD.org/src/lib/msun/Symbol.map.diff?r1=1.5&r2=1.6
> > This is just wrong IMHO. New exported symbols should not be
> > introduced carelessly and certainly not should be added to the same
> > namespace that exists in 7.0. Either we add these to 7.0 before it
> > releases, or they should go into their own section which will start
> > collecting all new libc symbols to appear in 8.0.
> > Daniel, Yar - what is your take on this?
> I think we reached some sort of consensus that the namespace would be
> bumped for every release...? So unless these get added to 7.0 before
> it goes out the door, they should be put in a separate namespace.
> On the other hand, newly added symbols don't break the ABI. I
> don't think there is a technical reason why symbols can't be
> added to FBSD_1.0 in -current; they can be easily backported
> to 7.0. If you were to add them to FBSD_1.1 in -current, then
> at a later time backport them to 7.0, then you would have to
> create a new namespace (FBSD_1.1) in 7.0 in order to add them.
> The only thing this buys you is being able to tell in what
> version they originated. Perhaps that's reason enough?
> At a minimum, we need to create one new namespace in each
> release branched from -current when there is one or more
> ABI changes from the prior release. Perhaps we should just
> move to FBSD_1.1 now in 8-current just to make things easier.
> When we go to 9-current, we move to FBSD_1.2, etc. If you
> need to backport changes back to 7.x, then you also have to
> create the matching version in 7.x.
I think this was our understanding last time, but I wanted to check
that I didn't forget anything. Adding symbols o FBSD_1.0 does not
technically breaks ABI, but creates namespace that is a superset of one
existing in 7.0. The 'classic' use of symbol versioning requires rtld
to check all the namespace dependencies recorded for the binary, and
the fact that namespace X exists in some library indicates that _all_
symbols from X are there and binary can run with this particular
version of the library. Extending FBSD_1.0 breaks this.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20071214/8ceeea41/signature.pgp
More information about the cvs-all