Disable -fstack-protector* from being used by glibc

... until it was fixed (to some extent) in 2.25.

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman
2018-12-06 23:19:13 -08:00
parent 9d2a5f8413
commit e149e28e57
3 changed files with 16 additions and 2 deletions

View File

@ -42,6 +42,10 @@ config GLIBC_DEP_GCC
config THREADS
default "nptl"
config GLIBC_BUILD_SSP
def_bool y
depends on GLIBC_2_25_or_later
# Known add-ons and when they exist(ed)
# crypt external in 2.1, no longer an add-on since 2.2
# libidn external in 2.3.4 .. 2.10, still an add-on
@ -320,7 +324,7 @@ config GLIBC_MIN_KERNEL
default LINUX_VERSION if GLIBC_KERNEL_VERSION_AS_HEADERS
default GLIBC_MIN_KERNEL_VERSION if GLIBC_KERNEL_VERSION_CHOSEN
if GLIBC_BUILD_SSP
choice
bool "Stack-smashing protection (SSP) in glibc"
default GLIBC_SSP_DEFAULT
@ -371,4 +375,6 @@ config GLIBC_ENABLE_WERROR
of the compiler than there were available at the time of a glibc
release (because newer compilers typically have better diagnostics).
endif
endif # KERNEL_LINUX

View File

@ -1,6 +1,6 @@
origin='GNU'
repository='git git://sourceware.org/git/glibc.git'
mirrors='$(CT_Mirrors GNU glibc)'
milestones='2.14 2.17 2.20 2.23 2.24 2.26 2.27'
milestones='2.14 2.17 2.20 2.23 2.24 2.25 2.26 2.27'
archive_formats='.tar.xz .tar.bz2 .tar.gz'
signature_format='packed/.sig'

View File

@ -185,6 +185,14 @@ glibc_backend_once()
# Hide host C++ binary from configure
echo "ac_cv_prog_ac_ct_CXX=${CT_TARGET}-g++" >>config.cache
# Until it became explicitly controllable with --enable-stack-protector=...,
# configure detected GCC support for -fstack-protector{,-strong} and
# tried to enable it in some parts of glibc - which then failed to build.
if [ -z "${CT_GLIBC_BUILD_SSP}" ]; then
echo "libc_cv_ssp=no" >>config.cache
echo "libc_cv_ssp_strong=no" >>config.cache
fi
if [ "${CT_GLIBC_FORCE_UNWIND}" = "y" ]; then
echo "libc_cv_forced_unwind=yes" >>config.cache
echo "libc_cv_c_cleanup=yes" >>config.cache