This is the mail archive of the
mailing list for the libstdc++ project.
Re: C++98/C++11 ABI compatibility for gcc-4.7
On Mon, 18 Jun 2012, Gabriel Dos Reis wrote:
> Jeff, please note that the path that Michael took from what was said
> ealier (in particular the quote he provided in his message) and the
> conclusion of "enthusiasm for soname bump" is still a mystery.
The quoted part suggested switching std::string to the new format for
c++11 only, on which I read three agreeing answers (one of them
enthusiastic). We have released a libstdc++.so.6 (that contains APIs
referring to std::string) with the old format, also for c++11. Changing
the API hence requires bumping the soname or doing any of the other tricks
I mentioned. As std:string isn't changed already I assume that those
other tricks aren't implemented (yet?), hence soname bump it is. So, the
enthusiasm transfers to the soname bump (you can't have one without the
other in short term).
A std:string change for c++11 only also would require installing two
libstdc++ in parallel with all the associated considerations (how to make
the link editor and the dynamic linker use the right one depending on
compilation mode). In that sense changing the layout for std::string for
c++11 but not c++98 would be even worse than a soname bump.