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".
This commit is contained in:
Nick Mathewson 2016-05-11 12:15:37 -04:00
parent 368146370b
commit c662bef455
2 changed files with 8 additions and 1 deletions

7
changes/bug18841.1 Normal file
View File

@ -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".

View File

@ -623,7 +623,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
#endif])], have_clang=yes, have_clang=no) #endif])], have_clang=yes, have_clang=no)
if test x$enable_gcc_hardening != xno; then 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 if test x$have_clang = xyes; then
TOR_CHECK_CFLAGS(-Qunused-arguments) TOR_CHECK_CFLAGS(-Qunused-arguments)
fi fi