This is the mail archive of the
mailing list for the libstdc++ project.
Re: libstdc++ c++98 & c++11 ABI incompatibility
On 07/03/2012 08:08 AM, Michael Matz wrote:
On Mon, 2 Jul 2012, Jeff Law wrote:
On 07/02/2012 11:53 AM, Paolo Carlini wrote:
I also want to mention (I don't think somebody did already in the
thread) that at some point, with Jason too, we discussed the idea of
adding to each binary a marker about the ABI version which then would be
used by the linker to warn or error out. This vague idea goes of course
well beyond our specific needs for the C++98 conforming std::list vs the
C++11 conforming version of it.
Yup. I've floated this idea as well. Some kind of note section with abi
information in it plus some linker magic to detect and error/warn when
mixing/matching bits with different abis.
As we see in the PR it's also the dynamic loader that would have to
prevent mixing any c++98 and c++11 code in the same process image :-/
We don't want to prevent mixing different versions; we want them to
coexist as much as possible, just prevent them from being treated as the
same. I posted some ideas for moving forward in a new thread:
Basically, I'm wondering if we can extend the compiler to use symbol
versioning to deal with these issues.