From c662bef45595e40106becfbdbb39811300d15a7f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 11 May 2016 12:15:37 -0400 Subject: [PATCH] Undefine _FORTIFY_SOURCE before defining it. This makes our compilation options checks in autoconf work better on systems that already define _FORTIFY_SOURCE. Fixes at least one case of bug 18841; bugfix on 0.2.3.17-beta. Patch from "trudokal". --- changes/bug18841.1 | 7 +++++++ configure.ac | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 changes/bug18841.1 diff --git a/changes/bug18841.1 b/changes/bug18841.1 new file mode 100644 index 0000000000..205ee5a425 --- /dev/null +++ b/changes/bug18841.1 @@ -0,0 +1,7 @@ + o Major bugfixes (compilation): + - Correctly detect compiler flags on systems where _FORTIFY_SOURCE + is predefined. Previously, our use of -D_FORTIFY_SOURCE would + cause a compiler warning, thereby making other checks fail. + Fixes one case of bug 18841; bugfix on 0.2.3.17-beta. Patch from + "trudokal". + diff --git a/configure.ac b/configure.ac index 29ba2fd6ce..2116b41fd5 100644 --- a/configure.ac +++ b/configure.ac @@ -623,7 +623,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [ #endif])], have_clang=yes, have_clang=no) if test x$enable_gcc_hardening != xno; then - CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" + CFLAGS="$CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" if test x$have_clang = xyes; then TOR_CHECK_CFLAGS(-Qunused-arguments) fi