Skip site navigation (1)Skip section navigation (2)
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>