|
@@ -122,19 +122,23 @@ dnl -D_FORTIFY_SOURCE=2 -fstack-protector-all
|
|
|
dnl Others suggest '/gs /safeseh /nxcompat /dynamicbase' for non-gcc on Windows
|
|
|
dnl This requires that we use gcc and that we add -O2 to the CFLAGS.
|
|
|
AC_ARG_ENABLE(gcc-hardening,
|
|
|
- AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
|
|
|
+ AS_HELP_STRING(--disable-gcc-hardening, disable compiler security checks),
|
|
|
+ [],
|
|
|
+ [enableval=yes;])
|
|
|
[if test x$enableval = xyes; then
|
|
|
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
|
|
|
CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
|
|
|
CFLAGS="$CFLAGS --param ssp-buffer-size=1"
|
|
|
LDFLAGS="$LDFLAGS -pie"
|
|
|
-fi])
|
|
|
+fi]
|
|
|
|
|
|
dnl Linker hardening options
|
|
|
dnl Currently these options are ELF specific - you can't use this with MacOSX
|
|
|
AC_ARG_ENABLE(linker-hardening,
|
|
|
- AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
|
|
|
-[if test x$enableval = xyes; then
|
|
|
+ AS_HELP_STRING(--disable-linker-hardening, disable linker security fixups),
|
|
|
+ [],
|
|
|
+ [enableval=yes;])
|
|
|
+AC_CHECK_HEADER([elf.h], [if test x$enableval = xyes; then
|
|
|
LDFLAGS="$LDFLAGS -z relro -z now"
|
|
|
fi])
|
|
|
|