This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libstdc++ c++98 & c++11 ABI incompatibility


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]