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
[-- Attachment #1 --] On Fri, 14 Dec 2007 00:48:51 -0500 (EST) Daniel Eischen <eischen@vigrid.com> wrote: > On Thu, 13 Dec 2007, Alexander Kabaev wrote: > > > 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=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. -- Alexander Kabaev [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFHYp1rQ6z1jMm+XZYRAix2AJ9VRzHXG53jsjhgtwbam9vxyt51HQCcCRPi fjnVoovUr4Wc7a+ybpMJki4= =OtjP -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071214101243.65a0723f>
