Add a function call stackprotector tests.
Including a function call in the test programs for the gcc stack protector flag tests exercises more of the compiler and makes it more likely it'll detect problems.
This commit is contained in:
parent
b9705393be
commit
9239a18f96
14
configure.ac
14
configure.ac
|
@ -213,20 +213,26 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
|
|||
CFLAGS="$CFLAGS $t -Werror"
|
||||
LDFLAGS="$LDFLAGS $t -Werror"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[ #include <stdio.h> ]],
|
||||
[AC_LANG_PROGRAM([[
|
||||
#include <stdio.h>
|
||||
int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
|
||||
]],
|
||||
[[
|
||||
char x[256];
|
||||
snprintf(x, sizeof(x), "XXX");
|
||||
snprintf(x, sizeof(x), "XXX%d", func(1));
|
||||
]])],
|
||||
[ AC_MSG_RESULT([yes])
|
||||
CFLAGS="$saved_CFLAGS $t"
|
||||
LDFLAGS="$saved_LDFLAGS $t"
|
||||
AC_MSG_CHECKING([if $t works])
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM([[ #include <stdio.h> ]],
|
||||
[AC_LANG_PROGRAM([[
|
||||
#include <stdio.h>
|
||||
int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
|
||||
]],
|
||||
[[
|
||||
char x[256];
|
||||
snprintf(x, sizeof(x), "XXX");
|
||||
snprintf(x, sizeof(x), "XXX%d", func(1));
|
||||
]])],
|
||||
[ AC_MSG_RESULT([yes])
|
||||
break ],
|
||||
|
|
Loading…
Reference in New Issue