summaryrefslogtreecommitdiffstats
path: root/acinclude.m4
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2010-09-27 08:04:10 +0200
committerAllan McRae <allan@archlinux.org>2010-09-27 08:06:52 +0200
commit900605912b32d08ece7a3e80e4c6b258485676b7 (patch)
tree6b73de46b1b37398409200d2da4b0902fe0220a1 /acinclude.m4
parent28c662e7a422314475cca61663695dd31fd86546 (diff)
downloadpacman-900605912b32d08ece7a3e80e4c6b258485676b7.tar.gz
pacman-900605912b32d08ece7a3e80e4c6b258485676b7.tar.xz
Add FORTIFY_SOURCE support
Adds a check for the minimum mainline GCC version for FORTIFY_SOURCE support and enables -D_FORTIFY_SOURCE=2 by default when building with --enable-debug. Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m423
1 files changed, 23 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 1524a3dd..80b0ba0a 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -4910,6 +4910,29 @@ AC_DEFUN([GCC_STACK_PROTECT_CC],[
fi
])
+dnl GCC_FORTIFY_SOURCE_CC
+dnl checks -D_FORTIFY_SOURCE with the C compiler, if it exists then updates
+dnl CFLAGS
+AC_DEFUN([GCC_FORTIFY_SOURCE_CC],[
+ AC_LANG_ASSERT(C)
+ if test "X$CC" != "X"; then
+ AC_MSG_CHECKING(for FORTIFY_SOURCE support)
+ AC_TRY_COMPILE([#include <features.h>], [
+ int main() {
+ #if !(__GNUC_PREREQ (4, 1) )
+ #error No FORTIFY_SOURCE support
+ #endif
+ return 0;
+ }
+ ], [
+ AC_MSG_RESULT(yes)
+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
+ ], [
+ AC_MSG_RESULT(no)
+ ])
+ fi
+])
+
dnl GCC_VISIBILITY_CC
dnl checks -fvisibility=internal with the C compiler, if it exists then
dnl defines ENABLE_VISIBILITY_CC in both configure script and Makefiles