Browse Source

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>
dev-linux
Alexey Neyman 4 years ago
parent
commit
e149e28e57
  1. 8
      config/libc/glibc.in
  2. 2
      packages/glibc/package.desc
  3. 8
      scripts/build/libc/glibc.sh

8
config/libc/glibc.in

@ -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

2
packages/glibc/package.desc

@ -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'

8
scripts/build/libc/glibc.sh

@ -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

Loading…
Cancel
Save