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 <st...@linux-ipv6.be>
---
 rules.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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
-- 
2.10.2


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to