diff --git a/config/Config-build.in b/config/Config-build.in index 660da1c47f..a082a5e0e2 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -210,11 +210,11 @@ menu "Global build settings" bool "None" config PKG_CC_STACKPROTECTOR_REGULAR bool "Regular" - select SSP_SUPPORT if !USE_MUSL + select GCC_LIBSSP if !USE_MUSL depends on KERNEL_CC_STACKPROTECTOR_REGULAR config PKG_CC_STACKPROTECTOR_STRONG bool "Strong" - select SSP_SUPPORT if !USE_MUSL + select GCC_LIBSSP if !USE_MUSL depends on !GCC_VERSION_4_8 depends on KERNEL_CC_STACKPROTECTOR_STRONG endchoice diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 0bca076e72..6bbfdcc3cc 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -5,7 +5,7 @@ # See /LICENSE for more information. # -PKG_DEFAULT_DEPENDS = +libc +SSP_SUPPORT:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread +PKG_DEFAULT_DEPENDS = +libc +GCC_LIBSSP:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread ifneq ($(PKG_NAME),toolchain) PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2))) diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index ce0acd19b2..febc7c2dbc 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -83,7 +83,7 @@ endef define Package/libssp $(call Package/gcc/Default) - DEPENDS+=@SSP_SUPPORT + DEPENDS+=@GCC_LIBSSP TITLE:=GCC support library endef diff --git a/toolchain/Config.in b/toolchain/Config.in index bf7b9c33d0..3de2b108b7 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -286,6 +286,10 @@ config USE_MUSL default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc || powerpc64) bool +config SSP_SUPPORT + default y if USE_MUSL || GCC_LIBSSP + bool + config USE_EXTERNAL_LIBC bool default y if EXTERNAL_TOOLCHAIN || NATIVE_TOOLCHAIN diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 0fe0ea2957..30ac137873 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -52,9 +52,9 @@ config GCC_DEFAULT_SSP help Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default. -config SSP_SUPPORT +config GCC_LIBSSP bool - prompt "Enable Stack-Smashing Protection support" if TOOLCHAINOPTS + prompt "Build gcc libssp" if TOOLCHAINOPTS depends on !USE_MUSL default y if !USE_MUSL help diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index ece71ef028..fafc0c1671 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -143,7 +143,7 @@ ifneq ($(CONFIG_GCC_DEFAULT_SSP),) --enable-default-ssp endif -ifneq ($(CONFIG_SSP_SUPPORT),) +ifneq ($(CONFIG_GCC_LIBSSP),) GCC_CONFIGURE+= \ --enable-libssp else