summaryrefslogtreecommitdiff
path: root/gcc/configure
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2015-08-19 22:07:06 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2015-08-19 22:07:06 +0000
commit6957b94eb5a2e5d5a908aa28b8b8dd8b709dc1f1 (patch)
tree3ca7ccb634b618bf1984f21463abb0f4d2de83ff /gcc/configure
parent6151b7b5b05debc85d8df044951b0893c43a4e0b (diff)
downloadgcc-6957b94eb5a2e5d5a908aa28b8b8dd8b709dc1f1.tar.gz
* common.opt (fstack-protector): Initialize to -1.
(fstack-protector-all): Likewise. (fstack-protector-strong): Likewise. (fstack-protector-explicit): Likewise. * configure.ac: Add --enable-default-ssp. * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong. * opts.c (finish_options): Update opts->x_flag_stack_protect if it is -1. * doc/install.texi: Document --enable-default-ssp. * config.in: Regenerated. * configure: Likewise. * lib/target-supports.exp (check_effective_target_fstack_protector_enabled): New test. * gcc.target/i386/ssp-default.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227017 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure30
1 files changed, 28 insertions, 2 deletions
diff --git a/gcc/configure b/gcc/configure
index 8e89dd9c6eb..cf685f29ea6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -678,6 +678,7 @@ MAINT
zlibinc
zlibdir
HOST_LIBS
+enable_default_ssp
libgcc_visibility
gcc_cv_readelf
gcc_cv_objdump
@@ -930,6 +931,7 @@ enable_fix_cortex_a53_843419
with_glibc_version
enable_gnu_unique_object
enable_linker_build_id
+enable_default_ssp
with_long_double_128
with_gc
with_system_zlib
@@ -1666,6 +1668,7 @@ Optional Features:
extension on glibc systems
--enable-linker-build-id
compiler will always pass --build-id to linker
+ --enable-default-ssp enable Stack Smashing Protection as default
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
@@ -18341,7 +18344,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18344 "configure"
+#line 18347 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -18447,7 +18450,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18450 "configure"
+#line 18453 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -28047,6 +28050,29 @@ $as_echo "#define TARGET_LIBC_PROVIDES_SSP 1" >>confdefs.h
fi
+# Check whether --enable-default-ssp was given.
+# Check whether --enable-default-ssp was given.
+if test "${enable_default_ssp+set}" = set; then :
+ enableval=$enable_default_ssp;
+if test x$gcc_cv_libc_provides_ssp = xyes; then
+ case "$target" in
+ ia64*-*-*) enable_default_ssp=no ;;
+ *) enable_default_ssp=$enableval ;;
+ esac
+else
+ enable_default_ssp=no
+fi
+else
+ enable_default_ssp=no
+fi
+
+if test x$enable_default_ssp == xyes ; then
+
+$as_echo "#define ENABLE_DEFAULT_SSP 1" >>confdefs.h
+
+fi
+
+
# Test for <sys/sdt.h> on the target.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5