On Fri, 14 Dec 2007, David Schultz wrote:
On Fri, Dec 14, 2007, Daniel Eischen wrote:
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.
The only reason I can think of---and perhaps this is why Alex was
objecting---is that someone could write a library that exports a
symbol with the same name but a different purpose. Then a binary
that was linked against both that library and libm.so.5 could get
different results on later versions of FreeBSD.
No, that's not the reason - see Alex' other email.
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.
The trouble with that is that if I MFC one thing now and another
thing between 7.0-RELEASE and 7.1-RELEASE, then people can just as
easily complain that I polluted the FBSD_1.1 namespace. The only
pedantically correct resolution I can think of is to add a new
version for each new symbol that I might possibly ever want to
MFC. (Usually I don't plan on MFCing due to limited time, but
ports maintainers sometimes ask. This happens less now that we're
free from the overly long 4.x release cycle.)
No, everytime we branch a release from -current (e.g, at 8.0,
9.0, etc), we should increment the namespace. -current typically
stays at the same number for quite a while (1-3 years?). We
go to FBSD_1.1 now in 8-current. Check with re@ and see if
you can MFC your symbols before 7.0. If not, then move them
to FBSD_1.1 in -current. If you have to MFC symbols from
FBSD_1.1 in -current, then just add those symbols to FBSD_1.1
in 7.x.
Whatever happens, the symbols in release N.x must be present in
the same namespaces as release N.x+y through -current to
maintain backward compatibility. The opposite is not true,
as release N.x+y can contain a superset of symbols from
release N.x.
--
DE
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"