summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2015-03-16 17:09:54 +0100
committerUlrich Müller <ulm@gentoo.org>2015-04-03 13:44:33 +0200
commit2d45a5be18ee61e23dfe6af4e23f1eda3595b22c (patch)
treec6626f2eda5fee981186586db105d97caf98bcd7 /configure.ac
parent0b914bada39e4577cd9e9209a15c44cc1f83294d (diff)
downloademacs-2d45a5be18ee61e23dfe6af4e23f1eda3595b22c.tar.gz
configure.ac: Add -nopie to LD_SWITCH_SYSTEM_TEMACS.
* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Add -nopie option if it is supported, in order to avoid segfaults in temacs. (Bug#18784)
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac15
1 files changed, 13 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 44709d47ab8..d2a9b375e40 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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) ;;