3.4 to 3.5 libstdc++ changes

Paolo Carlini pcarlini@suse.de
Wed Mar 10 15:08:00 GMT 2004


Benjamin Kosnik wrote:

>1) 3.4 and 3.5 ABI's match.
>
>Then, I'd suggest the following. Merge mainline, modulo any
>bootstrap-impacting change (I think one of your patches breaks an
>obscure mips configuration and has been reverted on the branch.)
>
(update: the problem has now occurred on the trunk too: the consensus
among the mips maintainer seems to be that -o32 + native toolchain is
basically broken)

> In
>addition, audit all the locale facets and try to future-proof them: all
>should have the basic caching infrastructure in place, even if the
>functions/data members are not used. The goal should be to slide
>remaining work into the stable branch without changing the ABI.
>  
>
Agreed.

>Probably io should be audited as well. 
>
>This assumes 3.4 tracks 3.5 after the merge. Then, two things. When
>3.4.0 is released, a branch is created on mainline is created, maybe
>something like libstdcxx_7_branch. All ABI-impacting libstdc++ work
>would go on this branch so as to not be lost.
>
Cool!

> Also, the ABI testing
>would be beefed up to add in something equivalent to the LSB testing,
>were instead of just looking at the export lists of the libstdc++ shared
>library, all the API bits are examined.
>  
>
Yes, that's really needed: recently I was about to make a serious 
mistake with
reverse_iterator changing size: no help from check-abi.

[snip]

>I'm not really quite sure what to do. Suggestions from the GCC steering
>committee members would be appreciated.
>  
>
Indeed: actually, we are facing a trade-off: a really long lasting 
ABI-stability,
encompassing both 3.4 and 3.5 vs a little bit of risk in bakporting the 
current
mainline changes to 3.4 close to the release. Anyway, I'm CC-ing Gerald: he
expressed privately interest in such issues but probably is not subscribed.

To be completely clear: I'm definitely with you for option 1 above, that is
merging mainline. If cleared, I would start immediately with the string 
changes,
then audit and merge the locale facets changes (by the way, there are also a
couple of bugfixes in num_get  + the pending fix for libstdc++/14220).

Paolo.



More information about the Libstdc++ mailing list