Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Dec 2007 10:12:43 -0500
From:      Alexander Kabaev <kabaev@gmail.com>
To:        Daniel Eischen <eischen@vigrid.com>
Cc:        David Schultz <das@FreeBSD.org>, Yar Tikhiy <yar@FreeBSD.org>, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/lib/msun Symbol.map
Message-ID:  <20071214101243.65a0723f@kan.dnsalias.net>
In-Reply-To: <Pine.GSO.4.64.0712140024230.14620@sea.ntplx.net>
References:  <200712140308.lBE38Ae7061160@repoman.freebsd.org> <20071213235617.2b554b60@kan.dnsalias.net> <Pine.GSO.4.64.0712140024230.14620@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/=k06e821ZesM+onE6ip4A3c
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Fri, 14 Dec 2007 00:48:51 -0500 (EST)
Daniel Eischen <eischen@vigrid.com> wrote:

> On Thu, 13 Dec 2007, Alexander Kabaev wrote:
>=20
> > On Fri, 14 Dec 2007 03:08:10 +0000 (UTC)
> > David Schultz <das@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=3D1.5&r2=3D1=
.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?
>=20
> 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.
>=20
> 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?
>=20
> 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.

--=20
Alexander Kabaev

--Sig_/=k06e821ZesM+onE6ip4A3c
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFHYp1rQ6z1jMm+XZYRAix2AJ9VRzHXG53jsjhgtwbam9vxyt51HQCcCRPi
fjnVoovUr4Wc7a+ybpMJki4=
=OtjP
-----END PGP SIGNATURE-----

--Sig_/=k06e821ZesM+onE6ip4A3c--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071214101243.65a0723f>