diff options
author | Philip Kaufmann <phil.kaufmann@t-online.de> | 2013-10-05 13:02:47 +0200 |
---|---|---|
committer | Philip Kaufmann <phil.kaufmann@t-online.de> | 2014-01-22 09:30:34 +0100 |
commit | 4e57e23833fa93627e6e54e2df069775e99244fc (patch) | |
tree | 9f4d72c806871782b74f2a3c2a9dcedf754e7fc3 | |
parent | 2f06b5965ae564dea4d13b5c0ec79cfb58d2c74a (diff) |
enable full GCC Stack-smashing protection for all OSes
- change our hardening options to use -fstack-protector-all even for
Windows builds, as we recently switched to a newer compiler suite
- also removes an obsolete workaround for GCC 4.5
(https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722), which
required to first set -fno-stack-protector, before -fstack-protector-all
-rw-r--r-- | configure.ac | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 973f4398df..e29ec15502 100644 --- a/configure.ac +++ b/configure.ac @@ -284,6 +284,7 @@ AX_CHECK_LINK_FLAG([[-Wl,--large-address-aware]], [LDFLAGS="$LDFLAGS -Wl,--large if test x$use_hardening != xno; then AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"]) + AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"]) AX_CHECK_COMPILE_FLAG([-fPIE],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fPIE"]) AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[ @@ -299,10 +300,6 @@ if test x$use_hardening != xno; then AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [LDFLAGS="-Wl,-z,now"]) if test x$TARGET_OS != xwindows; then - # -fstack-protector-all can produce broken binaries with mingw - AX_CHECK_COMPILE_FLAG([-fno-stack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fno-stack-protector"]) - AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"]) - # -pie will link successfully with MinGW, but it's unsupported and leads to undeterministic binaries AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"]) fi |