On Fri, 14 Dec 2007 00:48:51 -0500 (EST) Daniel Eischen <[EMAIL PROTECTED]> wrote:
> On Thu, 13 Dec 2007, Alexander Kabaev wrote: > > > On Fri, 14 Dec 2007 03:08:10 +0000 (UTC) > > David Schultz <[EMAIL PROTECTED]> 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
signature.asc
Description: PGP signature
