aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-06-23 11:37:39 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-06-23 11:37:39 +0000
commit481279fb32cf9d66a5f7349f9ab6c99558955179 (patch)
tree9d6ecc33b7121e1e406ff66a36b4ce3a97179776
parentd72a90ee7b0f3e81b798b61a87f1ad16cea09bc2 (diff)
downloadupstream-481279fb32cf9d66a5f7349f9ab6c99558955179.tar.gz
upstream-481279fb32cf9d66a5f7349f9ab6c99558955179.tar.bz2
upstream-481279fb32cf9d66a5f7349f9ab6c99558955179.zip
[toolchain] introduce option to enable setjump()/longjump() based C++ exceptions (#9185, patch from David Kuehling via Qi hardware)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27261 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--toolchain/gcc/Config.in9
-rw-r--r--toolchain/gcc/final/Makefile5
2 files changed, 14 insertions, 0 deletions
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index c2d17cbaf8..e6434d0f7d 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -66,6 +66,15 @@ config TLS_SUPPORT
help
Enable Thread-local storage support
+config SJLJ_EXCEPTIONS
+ bool
+ prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS
+ default n
+ help
+ Use old setjump()/longjump() exceptions instead of the newer
+ frame unwinding exceptions handling routines. Warning: increases
+ code size and runtime memory usage.
+
config INSTALL_LIBSTDCPP
bool
prompt "Build/install c++ compiler and libstdc++?" if TOOLCHAINOPTS
diff --git a/toolchain/gcc/final/Makefile b/toolchain/gcc/final/Makefile
index 1decc95158..337f7ab1c5 100644
--- a/toolchain/gcc/final/Makefile
+++ b/toolchain/gcc/final/Makefile
@@ -22,6 +22,11 @@ else
--disable-tls
endif
+ifneq ($(CONFIG_SJLJ_EXCEPTIONS),)
+ GCC_CONFIGURE += \
+ --enable-sjlj-exceptions
+endif
+
define Host/Configure
mkdir -p $(GCC_BUILD_DIR) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
# Important! Required for limits.h to be fixed.