libstdc++ c++98 & c++11 ABI incompatibility
Jason Merrill
jason@redhat.com
Tue Jul 3 19:33:00 GMT 2012
On 07/03/2012 08:08 AM, Michael Matz wrote:
> Hi,
>
> 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:
http://gcc.gnu.org/ml/gcc/2012-07/msg00031.html
Basically, I'm wondering if we can extend the compiler to use symbol
versioning to deal with these issues.
Jason
More information about the Gcc
mailing list