summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2021-09-29 10:53:55 +1000
committerDarren Tucker <dtucker@dtucker.net>2021-09-29 10:53:55 +1000
commit39f2111b1d5f00206446257377dcce58cc72369f (patch)
treeb6ae9b1b5555fbcba60e9fdd98a4b2070f0b5328
parentbf944e3794eff5413f2df1ef37cddf96918c6bde (diff)
Add new compiler hardening flags.
Add -fzero-call-used-regs and -ftrivial-auto-var-init to the list of compiler hardening flags that configure checks for. These are supported by clang and gcc, and make ROP gadgets less useful and mitigate stack-based infoleaks respectively. ok djm@
-rw-r--r--configure.ac2
1 files changed, 2 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 413913a7..821a75ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -190,6 +190,8 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
# actually links. The test program compiled/linked includes a number
# of integer operations that should exercise this.
OSSH_CHECK_CFLAG_LINK([-ftrapv])
+ OSSH_CHECK_CFLAG_COMPILE([-fzero-call-used-regs=all])
+ OSSH_CHECK_CFLAG_COMPILE([-ftrivial-auto-var-init=zero])
fi
AC_MSG_CHECKING([gcc version])
GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`