aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-05-29 16:08:33 -0400
committerNick Mathewson <nickm@torproject.org>2019-05-29 16:08:33 -0400
commit66eae4afffb35afe891ec14a3389a484ecb7b373 (patch)
treed0ff1137c38d3059428a0eed0efbd507a9b6faea /configure.ac
parent70553a91343e242e05e569d59584674a21d09679 (diff)
downloadtor-66eae4afffb35afe891ec14a3389a484ecb7b373.tar.gz
tor-66eae4afffb35afe891ec14a3389a484ecb7b373.zip
Check whether gcc-hardening is runnable, and log an error if not
Closes ticket 27530.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac11
1 files changed, 11 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index e7f959f17a..1ecf82c662 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1188,6 +1188,17 @@ m4_ifdef([AS_VAR_IF],[
TOR_CHECK_LDFLAGS(-pie, "$all_ldflags_for_check", "$all_libs_for_check")
fi
TOR_TRY_COMPILE_WITH_CFLAGS(-fwrapv, also_link, CFLAGS_FWRAPV="-fwrapv", true)
+
+ AC_MSG_CHECKING([whether we can run hardened binaries])
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([], [return 0;])],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([dnl
+ We can link with compiler hardening options, but we can't run with them.
+ That's a bad sign! If you must, you can pass --disable-gcc-hardening to
+ configure, but it would be better to figure out what the underlying problem
+ is.])],
+ [AC_MSG_RESULT([cross])])
fi
if test "$fragile_hardening" = "yes"; then