Hi everyone,

I debated about whether to write a news item about c++11 abi. Usually our news items are about some change which requires user intervention. But this is just precautionary. With more packages needing c++11 because of source changes, we may want to inform users about breakage at the ABI level in case they do something like add -std=c++11 to their global CXXFLAGS.

Let me know if you think its worth sending out and/or any other suggestions.


Title: GCC 4.7 Introduces New c++11 ABI
Author: Anthony G. Basile <bluen...@gentoo.org>
Content-Type: text/plain
Posted: 2014-10-20
Revision: 1
News-Item-Format: 1.0
Display-If-Installed: >=sys-devel/gcc-4.7.0
Display-If-Keyword: amd64
Display-If-Keyword: arm
Display-If-Keyword: mips
Display-If-Keyword: ppc
Display-If-Keyword: ppc64
Display-If-Keyword: x86
Display-If-Keyword: amd64-fbsd
Display-If-Keyword: x86-fbsd

GCC 4.7 introduced the new experimental 2011 ISO C++ standard [1], along with its GNU variant. This new standard is not the default in GCC 4.7, 4.8 or 4.9,
the default is still gnu++98, but it can be enabled by passing -std=c++11 or
-std=gnu++11 to CXXFLAGS.

Users that wish to try c++11 should exercise caution because it is not
ABI-compatible with c++98. Thus linking c++98 and c++11 objects is likely to cause breakage. For packages which are self-contained and do not link against any libraries written in C++, there is no problem. However, switching to c++11 and then building packages which link against any of the numerous libraries still
in the older ABI, can lead to a crippled system.

This is a precautionary news item and the typical user need not do anything.
However, as c++11 gains in popularity and the number of packages using it
increase, it is important that users understand these precautions.

For an ABI compliance checker, and more information about C++ ABIs, see [2].

Ref.
[1] http://www.stroustrup.com/C++11FAQ.html
[2] http://ispras.linuxbase.org/index.php/ABI_compliance_checker

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail    : bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA


Reply via email to