diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 5ab776df5..f4ef55d11 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -78,6 +78,7 @@ endef define Package/libssp $(call Package/gcc/Default) + DEPENDS:=@SSP_SUPPORT TITLE:=GCC support library endef diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index e712d5934..24b86081c 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 31697989c..700463cb7 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)) \