actually check if PIE is supported for SUID

fix T4479
This commit is contained in:
Alexander Pyhalov 2016-09-08 19:23:07 +03:00 committed by Mike Blumenkrantz
parent 8bf7999c31
commit 7998025c23
1 changed files with 22 additions and 4 deletions

View File

@ -1036,12 +1036,30 @@ m4_ifndef([v_rel],
EFL_COMPILER_FLAG([-Wformat=2])
])
SUID_CFLAGS=-fPIE
SUID_LDFLAGS=-pie
SUID_CFLAGS=
SUID_LDFLAGS=
case "$host_os" in
freebsd*|pcbsd*)
SUID_CFLAGS=
SUID_LDFLAGS=
;;
*)
if test -n "$GCC"; then
AC_MSG_CHECKING(if GCC supports -fPIE)
OLDCFLAGS="$CFLAGS"
OLDLDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS -fPIE"
LDFLAGS="$LDFLAGS -pie"
AC_TRY_LINK(,,
[
SUID_CFLAGS="-fPIE"
SUID_LDFLAGS="-pie"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
LDFLAGS="$OLDLFDLAGS"
fi
;;
esac
AC_SUBST([SUID_CFLAGS])