introduce option to enable setjump()/longjump() based C++ exceptions (#9185, patch...
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 23 Jun 2011 11:37:39 +0000 (11:37 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 23 Jun 2011 11:37:39 +0000 (11:37 +0000)
SVN-Revision: 27261

toolchain/gcc/Config.in
toolchain/gcc/final/Makefile

index c2d17cbaf83c8d171d722170c1db6fa9467f4f81..e6434d0f7df70d3e604b7e9e1fc28f91671eeab0 100644 (file)
@@ -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
index 1decc951585044291f72e3626de2b7716862e1c7..337f7ab1c5deaa74aa3a9d389eb493bdb3765e00 100644 (file)
@@ -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.