From a56dab661a115e6cc9f4361d5ff831d998cb9f00 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 23 Jun 2011 11:37:39 +0000 Subject: [PATCH] introduce option to enable setjump()/longjump() based C++ exceptions (#9185, patch from David Kuehling via Qi hardware) SVN-Revision: 27261 --- toolchain/gcc/Config.in | 9 +++++++++ toolchain/gcc/final/Makefile | 5 +++++ 2 files changed, 14 insertions(+) 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.