You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4 |
|
index 733b06c..bb770f0 100644 |
|
--- a/config-scripts/cups-compiler.m4 |
|
+++ b/config-scripts/cups-compiler.m4 |
|
@@ -123,21 +123,35 @@ if test -n "$GCC"; then |
|
OPTIM="-fPIC $OPTIM" |
|
fi |
|
|
|
- # The -fstack-protector option is available with some versions of |
|
- # GCC and adds "stack canaries" which detect when the return address |
|
- # has been overwritten, preventing many types of exploit attacks. |
|
- AC_MSG_CHECKING(whether compiler supports -fstack-protector) |
|
+ # The -fstack-protector-strong and -fstack-protector options are available |
|
+ # with some versions of# GCC and adds "stack canaries" which detect |
|
+ # when the return address has been overwritten, preventing many types of exploit attacks. |
|
+ # First check for -fstack-protector-strong, then for -fstack-protector... |
|
+ AC_MSG_CHECKING([whether compiler supports -fstack-protector-strong]) |
|
OLDCFLAGS="$CFLAGS" |
|
- CFLAGS="$CFLAGS -fstack-protector" |
|
- AC_TRY_LINK(,, |
|
+ CFLAGS="$CFLAGS -fstack-protector-strong" |
|
+ AC_TRY_LINK(,,[ |
|
if test "x$LSB_BUILD" = xy; then |
|
# Can't use stack-protector with LSB binaries... |
|
OPTIM="$OPTIM -fno-stack-protector" |
|
else |
|
- OPTIM="$OPTIM -fstack-protector" |
|
+ OPTIM="$OPTIM -fstack-protector-strong" |
|
fi |
|
- AC_MSG_RESULT(yes), |
|
- AC_MSG_RESULT(no)) |
|
+ AC_MSG_RESULT(yes) |
|
+ ], [ |
|
+ AC_MSG_CHECKING([whether compiler supports -fstack-protector]) |
|
+ CFLAGS="$OLDCFLAGS -fstack-protector" |
|
+ AC_LINK_IFELSE([AC_LANG_PROGRAM()], [ |
|
+ AS_IF([test "x$LSB_BUILD" = xy], [ |
|
+ # Can't use stack-protector with LSB binaries... |
|
+ OPTIM="$OPTIM -fno-stack-protector" |
|
+ ], [ |
|
+ OPTIM="$OPTIM -fstack-protector" |
|
+ ]) |
|
+ ], [ |
|
+ AC_MSG_RESULT([no]) |
|
+ ]) |
|
+ ]) |
|
CFLAGS="$OLDCFLAGS" |
|
|
|
if test "x$LSB_BUILD" != xy; then
|
|
|