aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2021-01-20 20:51:45 -0800
committerPaul Spooren <mail@aparcar.org>2021-01-26 15:23:06 -1000
commit01e4274c2117863603363c22f403af159c71cbfd (patch)
tree95f05b104865b560871130bdd59125e299d70264
parent7b63d89b5289b2c08d5542f60a1c71a29d45c51f (diff)
downloadupstream-01e4274c2117863603363c22f403af159c71cbfd.tar.gz
upstream-01e4274c2117863603363c22f403af159c71cbfd.tar.bz2
upstream-01e4274c2117863603363c22f403af159c71cbfd.zip
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 <rosenp@gmail.com>
-rw-r--r--toolchain/gcc/common.mk4
1 files changed, 3 insertions, 1 deletions
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