discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=1b7468bc9b4832f385e3ff8bda13cb0efee519bc

commit 1b7468bc9b4832f385e3ff8bda13cb0efee519bc
Author: Alexander Pyhalov <apyha...@gmail.com>
Date:   Thu Sep 8 19:23:07 2016 +0300

    actually check if PIE is supported for SUID
    
    fix T4479
---
 configure.ac | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0675328..3398aea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1019,12 +1019,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])

-- 


Reply via email to