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

Reply via email to