Add support for Stack Protector
FossilOrigin-Name: 5e80ba800541b636d62ca53c912322ce1923153d0e8cd1ccf45365b379f00331
This commit is contained in:
parent
235c32d809
commit
28ed7cbfe1
2 changed files with 58 additions and 1 deletions
|
@ -209,6 +209,61 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
|
|||
AC_SUBST(PROG_IMPLIB_LDFLAGS)
|
||||
])
|
||||
|
||||
AC_DEFUN([BUILDSYS_STACK_PROTECTOR], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_MSG_CHECKING(for Stack Protector)
|
||||
|
||||
old_CFLAGS="$CFLAGS"
|
||||
old_CXXFLAGS="$CXXFLAGS"
|
||||
old_OBJCFLAGS="$OBJCFLAGS"
|
||||
old_OBJCXXFLAGS="$OBJCXXFLAGS"
|
||||
old_LDFLAGS="$LDFLAGS"
|
||||
|
||||
CFLAGS="$CFLAGS -fstack-protector-strong"
|
||||
CXXFLAGS="$CXXFLAGS -fstack-protector-strong"
|
||||
OBJCFLAGS="$OBJCFLAGS -fstack-protector-strong"
|
||||
OBJCXXFLAGS="$OBJCXXFLAGS -fstack-protector-strong"
|
||||
LDFLAGS="$LDFLAGS -fstack-protector-strong"
|
||||
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([
|
||||
#include <stdio.h>
|
||||
], [
|
||||
puts("Stack Protector test");
|
||||
])
|
||||
], [
|
||||
AC_MSG_RESULT(strong)
|
||||
AC_SUBST(STACK_PROTECTOR_CFLAGS, -fstack-protector-strong)
|
||||
AC_SUBST(STACK_PROTECTOR_LDFLAGS, -fstack-protector-strong)
|
||||
], [
|
||||
CFLAGS="$old_CFLAGS -fstack-protector"
|
||||
CXXFLAGS="$old_CXXFLAGS -fstack-protector"
|
||||
OBJCFLAGS="$old_OBJCFLAGS -fstack-protector"
|
||||
OBJCXXFLAGS="$old_OBJCXXFLAGS -fstack-protector"
|
||||
LDFLAGS="$old_LDFLAGS -fstack-protector"
|
||||
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([
|
||||
#include <stdio.h>
|
||||
], [
|
||||
puts("Stack Protector test");
|
||||
])
|
||||
], [
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_SUBST(STACK_PROTECTOR_CFLAGS, -fstack-protector)
|
||||
AC_SUBST(STACK_PROTECTOR_LDFLAGS, -fstack-protector)
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
CFLAGS="$old_CFLAGS"
|
||||
CXXFLAGS="$old_CXXFLAGS"
|
||||
OBJCFLAGS="$old_OBJCFLAGS"
|
||||
OBJCXXFLAGS="$old_OBJCXXFLAGS"
|
||||
LDFLAGS="$old_LDFLAGS"
|
||||
])
|
||||
|
||||
AC_DEFUN([BUILDSYS_PIE], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_MSG_CHECKING(for Position Independent Executable support)
|
||||
|
|
|
@ -47,9 +47,11 @@ PYTHON_FLAGS = @PYTHON_FLAGS@
|
|||
PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
|
||||
PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
|
||||
PROG_SUFFIX = @EXEEXT@
|
||||
STACK_PROTECTOR_CFLAGS = @STACK_PROTECTOR_CFLAGS@
|
||||
STACK_PROTECTOR_LDFLAGS = @STACK_PROTECTOR_LDFLAGS@
|
||||
RELRO_LDFLAGS = @RELRO_LDFLAGS@
|
||||
PIE_CFLAGS = @PIE_CFLAGS@
|
||||
PIE_LDFLAGS = @PIE_LDFLAGS@
|
||||
RELRO_LDFLAGS = @RELRO_LDFLAGS@
|
||||
LIB_CFLAGS = @LIB_CFLAGS@
|
||||
LIB_LDFLAGS = @LIB_LDFLAGS@
|
||||
LIB_LDFLAGS_INSTALL_NAME = @LIB_LDFLAGS_INSTALL_NAME@
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue