summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/Config.in7
-rw-r--r--toolchain/gcc/Makefile8
2 files changed, 15 insertions, 0 deletions
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index e712d5934d..24b86081c5 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -53,6 +53,13 @@ config EXTRA_GCC_CONFIG_OPTIONS
help
Any additional gcc options you may want to include....
+config SSP_SUPPORT
+ bool
+ prompt "Enable Smash Stacking Protection support" if TOOLCHAINOPTS
+ default n
+ help
+ Enable Smash Stacking Protection support
+
config INSTALL_LIBSTDCPP
bool
prompt "Build/install c++ compiler and libstdc++?" if TOOLCHAINOPTS
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 31697989c9..700463cb78 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -40,6 +40,12 @@ BUILD_DIR2:=$(BUILD_DIR_HOST)/gcc-$(PKG_VERSION)-final
SEP:=,
TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)"
+ifeq ($(CONFIG_SSP_SUPPORT),y)
+ SSP:=--enable-ssp
+else
+ SSP:=--disable-ssp
+endif
+
EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-biarch --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc)
define Stage1/Configure
@@ -62,6 +68,7 @@ define Stage1/Configure
--disable-nls \
--disable-libmudflap \
--disable-multilib \
+ $(SSP) \
$(EXTRA_TARGET) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
@@ -96,6 +103,7 @@ define Stage2/Configure
--disable-nls \
--disable-libmudflap \
--disable-multilib \
+ $(SSP) \
$(EXTRA_TARGET) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \