This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++98/C++11 ABI compatibility for gcc-4.7
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: James Y Knight <foom at fuhm dot net>
- Cc: jyasskin at googlers dot com, gcc at gcc dot gnu dot org
- Date: Thu, 31 May 2012 22:39:40 +0100
- Subject: Re: C++98/C++11 ABI compatibility for gcc-4.7
- References: <684e2daa82dfe58f3c0ca7898a646503.squirrel@fuhm.net>
On 31 May 2012 22:35, James Y Knight wrote:
> You've missed at least one ABI incompatibility in GCC 4.7 and later, as
> demonstrated in real life by (at least) libboost_python, and distilled
> into this test case.
>
> At least these bug reports are probably caused by this ABI incompatibility:
> https://svn.boost.org/trac/boost/ticket/6919
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53455
> https://svn.boost.org/trac/boost/ticket/6895
>
> As I've said before, I really wish GCC devs would take the ABI
> incompatibility problem more seriously.
What do you expect us to do, not implement C++11?
> Lots of users have already started
> using -std=c++0x mode, and have absolutely no idea that it's completely
> unsafe to do so on a normal linux distro, linking against regular C++
> libraries that are not compiled with a) c++11 enabled, and b) the exact
> same version of GCC.
>
> I understand that the ABI changes generally cannot be avoided, but a lot
> of pain for a lot of people could be avoided by making things fail
> obviously with a link error, instead of sometimes, arbitrarily, if you're
> lucky, you'll get a segfault at runtime.
Do you have any suggestions for how to do that?
Have you opened an enhancement request in Bugzilla?