浏览代码

Disable smash stacking support by default, but allow to enable it as an experimental feature

SVN-Revision: 12010
Florian Fainelli 17 年之前
父节点
当前提交
cc99e5b35d
共有 3 个文件被更改,包括 16 次插入0 次删除
  1. 1 0
      package/base-files/Makefile
  2. 7 0
      toolchain/gcc/Config.in
  3. 8 0
      toolchain/gcc/Makefile

+ 1 - 0
package/base-files/Makefile

@@ -78,6 +78,7 @@ endef
 
 define Package/libssp
 $(call Package/gcc/Default)
+  DEPENDS:=@SSP_SUPPORT
   TITLE:=GCC support library
 endef
 

+ 7 - 0
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

+ 8 - 0
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)) \