]> git.eshelyaron.com Git - emacs.git/commitdiff
configure.ac: Add -nopie to LD_SWITCH_SYSTEM_TEMACS.
authorUlrich Müller <ulm@gentoo.org>
Mon, 16 Mar 2015 16:09:54 +0000 (17:09 +0100)
committerUlrich Müller <ulm@gentoo.org>
Fri, 3 Apr 2015 11:44:33 +0000 (13:44 +0200)
* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Add -nopie option if it
is supported, in order to avoid segfaults in temacs.  (Bug#18784)

ChangeLog
configure.ac

index 6df5a5a6344467391cac43065b9991600bb829f8..030ef37e850bf3ef7fa7251094a290c29ad89574 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-03  Ulrich Müller  <ulm@gentoo.org>
+
+       * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Add -nopie option if it
+       is supported, in order to avoid segfaults in temacs.  (Bug#18784)
+
 2015-03-27  Pete Williamson  <petewil@chromium.org>  (tiny change)
 
        Add NaCl target
index 44709d47ab8bce8330298f2de0ed683cd9087639..d2a9b375e402ab4bf9a571c60fd46a46796ff202 100644 (file)
@@ -5027,11 +5027,22 @@ case "$opsys" in
    esac
    ;;
 
-  openbsd) LD_SWITCH_SYSTEM_TEMACS='-nopie' ;;
-
   *) LD_SWITCH_SYSTEM_TEMACS= ;;
 esac
 
+AC_CACHE_CHECK([whether the linker accepts -nopie],
+  [emacs_cv_prog_cc_nopie],
+  [emacs_save_LDFLAGS=$LDFLAGS
+  LDFLAGS="$LDFLAGS -nopie"
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+    [emacs_cv_prog_cc_nopie=yes],
+    [emacs_cv_prog_cc_nopie=no])
+  LDFLAGS=$emacs_save_LDFLAGS])
+if test "$emacs_cv_prog_cc_nopie" = yes; then
+  # Disable PIE to avoid segfaults in temacs (bug#18784)
+  LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -nopie"
+fi
+
 if test x$ac_enable_profiling != x ; then
   case $opsys in
     *freebsd | gnu-linux) ;;