[PATCH] toolchain/libstdcpp: disable dual ABI and default to new
Rosen Penev
rosenp at gmail.com
Wed Jan 20 23:51:45 EST 2021
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 at gmail.com>
---
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.29.2
More information about the openwrt-devel
mailing list