Message ID | 20170321181353.29273-1-stijn@linux-ipv6.be |
---|---|
State | Changes Requested |
Headers | show |
On 2017-03-21 19:13, Stijn Tintel wrote: > GCC 5.1 introduced a new library ABI to conform to the 2011 C++ > standard. This new ABI is enabled by default. This causes compatibility > issues between libraries compiled against libstdc++ and libraries > compiled against uClibc++, as the latter doesn't support this new ABI. > > Solve this by disabling the _GLIBCXX_USE_CXX11_ABI macro when uClibc++ > is selected as the preferred standard C++ library. > > Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> This should be changed in uclibc++.mk so that it does not affect packages that only use libstdc++ - Felix
diff --git a/rules.mk b/rules.mk index ed796a5..bf051b7 100644 --- a/rules.mk +++ b/rules.mk @@ -164,7 +164,7 @@ TARGET_PATH:=$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space TARGET_INIT_PATH:=$(call qstrip,$(CONFIG_TARGET_INIT_PATH)) TARGET_INIT_PATH:=$(if $(TARGET_INIT_PATH),$(TARGET_INIT_PATH),/usr/sbin:/sbin:/usr/bin:/bin) TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) $(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION)) -TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_CXXFLAGS = $(TARGET_CFLAGS) $(if $(CONFIG_USE_UCLIBCXX), -D_GLIBCXX_USE_CXX11_ABI=0) TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS) TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT) TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
GCC 5.1 introduced a new library ABI to conform to the 2011 C++ standard. This new ABI is enabled by default. This causes compatibility issues between libraries compiled against libstdc++ and libraries compiled against uClibc++, as the latter doesn't support this new ABI. Solve this by disabling the _GLIBCXX_USE_CXX11_ABI macro when uClibc++ is selected as the preferred standard C++ library. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> --- rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)