cvs commit: src/lib/libc/locale utf8.c
scottl at samsco.org
Fri Oct 26 09:37:59 PDT 2007
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.
More information about the cvs-src