[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Heads Up: ABI Change
From: |
David Chisnall |
Subject: |
Re: Heads Up: ABI Change |
Date: |
Fri, 11 Feb 2011 23:42:09 +0000 |
Hi Stefan,
On 11 Feb 2011, at 19:02, Stefan Bidi wrote:
> On Fri, Feb 11, 2011 at 9:15 AM, Richard Frith-Macdonald <address@hidden>
> wrote:
>> No ... this sort of stuff rarely actually breaks anything (how often does
>> anyone want to subclass these things) but we have a 'contract' with our uses
>> not to break ABI compatibility for stable releases (except very rarely on a
>> major release). I would really like to be able to make a new minor stable
>> release (so distributions can adopt it quickly without worrying about
>> backward compatibility) by copying from svn trunk. So really we want to
>> make sure that there are no changes in the size of the ivars of existing
>> classes. This means that either we need to modify things so we are not
>> using any new ivars in NSDateFormatter and NSNumberFormatter, or our next
>> stable release really can't contain the latest implementation for these two
>> classes. The 'padding' instance variable in each class definition is there
>> precisely so that we can set gs_unused to be a pointer to extra data if we
>> need to add instance variables without breaking the ABI.
>>
> The changes to the formatters were quite invasive, including breaking the
> default behavior as they now default to 10.4+ behavior. I really couldn't
> use the padding pointer because I added a lot of new ivars. The only way I
> could have done anything with it is if I made it a pointer to a structure.
> Is this what I should have done here?
>
> The good news is that I didn't modify anything else but add the new behavior,
> so a new stable release can be done by simply omitting all the changes I did.
I've not looked at the code in detail, but I thought you were creating a
private subclass for the old and new behaviours - would it not be possible to
simply return a private subclass instance from the constructors and not change
the ivar layout of the superclass?
David
-- Sent from my PDP-11
- Heads Up: ABI Change, David Chisnall, 2011/02/10
- Re: Heads Up: ABI Change, Stefan Bidi, 2011/02/10
- Re: Heads Up: ABI Change, David Chisnall, 2011/02/10
- Re: Heads Up: ABI Change, Richard Frith-Macdonald, 2011/02/11
- Re: Heads Up: ABI Change, Stefan Bidi, 2011/02/11
- Re: Heads Up: ABI Change,
David Chisnall <=
- Re: Heads Up: ABI Change, Stefan Bidi, 2011/02/11
- Re: Heads Up: ABI Change, Richard Frith-Macdonald, 2011/02/12
- Re: Heads Up: ABI Change, Quentin Mathé, 2011/02/12
- Re: Heads Up: ABI Change, Stefan Bidi, 2011/02/13
- Re: Heads Up: ABI Change, Richard Frith-Macdonald, 2011/02/14
- Re: Heads Up: ABI Change, Stefan Bidi, 2011/02/14