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