From 01e4274c2117863603363c22f403af159c71cbfd Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 20 Jan 2021 20:51:45 -0800 Subject: [PATCH] toolchain/libstdcpp: disable dual ABI and default to new GCC 5.1 changed the std::string ABI in order to properly support C++11. For compatibility with libraries compiled with the older ABI, that is, linking between old-abi.so and new-abi.bin, both ABIs are enabled. In terms of OpenWrt, all packages are compiled with the same toolchain, which means these issues do not need to be handled. Most importantly, this results in a significant size reduction of libstdpp: Before: 450794 bytes After: 327752 bytes Tested with all OpenWrt packages. Signed-off-by: Rosen Penev --- toolchain/gcc/common.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index aaddb74642..55fad1fcc4 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -117,7 +117,9 @@ GCC_CONFIGURE:= \ --with-mpc=$(TOPDIR)/staging_dir/host \ --disable-decimal-float \ --with-diagnostics-color=auto-if-env \ - --enable-__cxa_atexit + --enable-__cxa_atexit \ + --disable-libstdcxx-dual-abi \ + --with-default-libstdcxx-abi=new ifneq ($(CONFIG_mips)$(CONFIG_mipsel),) GCC_CONFIGURE += --with-mips-plt endif -- 2.30.2