Date: Fri, 26 Oct 2007 10:37:22 -0600 From: Scott Long <scottl@samsco.org> To: John Baldwin <jhb@FreeBSD.org> Cc: src-committers@FreeBSD.org, d@delphij.net, Andrey Chernov <ache@nagual.pp.ru>, cvs-all@FreeBSD.org, Robert Watson <rwatson@FreeBSD.org>, cvs-src@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/locale utf8.c Message-ID: <472217C2.8020800@samsco.org> In-Reply-To: <200710261144.34645.jhb@freebsd.org> References: <200710150951.l9F9pUm7026506@repoman.freebsd.org> <20071025233536.B99770@fledge.watson.org> <472120E8.90504@samsco.org> <200710261144.34645.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote: > On Thursday 25 October 2007 07:04:08 pm Scott Long wrote: >> Robert Watson wrote: >>> On Thu, 25 Oct 2007, Andrey Chernov wrote: >>> >>>> On Thu, Oct 25, 2007 at 12:05:40PM -0700, LI Xin wrote: >>>>> Well, I think the problem is not exposing a new symbol by itself, but >>>>> __mb_sb_limit is being used in _ctype.h, in a form of __inline >>>>> functions. Therefore, the change will break new binaries running on >>>>> older systems. >>>> Yes. Only vice versa compatibility supported. >>> I think the issue here is that the change occurred very quickly after >>> the branch, and when users wanted to 'change gears' back to RELENG_7 >>> from HEAD once it was created immediately ran into the problem. It >>> seems like a useful piece of post-branch advice to developers in the >>> future will be, "Please don't do things that make switching branches -- >>> back or forward -- for the first few weeks after the branch is >>> created". In general, I don't think we care about forward >>> compatibility, but we are currently getting lots of reports because this >>> is one of those few times where a lot of moving backward happens. >>> >> We do care about forward compatibility within STABLE branches, as Ken >> and I have discussed in side threads. But yes, forward compat between >> major branches is merely desired; i.e. changes will happen, and >> hopefully not for gratuitous reasons. > > If we care about forward compatiblity then we can't add new features to > RELENG_X branches. For example, MFCing MSI to 6.x broke forward compat since > a 6.3 module might call the MSI methods thus can't be used on a 6.2 kernel. > AFAIK, we have _never_ promised anything wrt forward compat, only backwards > ABI compat. I can agree with Robert above that during a transition time such > as now it's really handy to be able to switch easily between branches, but I > didn't think it was ever a concern otherwise. If we are going to change the > policy for that then there's a whole bunch of crap I need to go back out of > 6.x to restore compat. :-/ > You're right that nothing can be promised, but you're ignoring what Ken and I are saying about having a justification for changes. Yes, MSI added a feature that wasn't present in previous releases. But it's something that is optional and can be easily ifdef'd in source. The ctype ABI change isn't like that at all; it's mandatory and it can't be worked around. We also asked that even justifiable changes be evaluated to see if there was any work-around to avoid breakage. Several have already been suggested for the ctype change. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?472217C2.8020800>