From 2d45a5be18ee61e23dfe6af4e23f1eda3595b22c Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Mon, 16 Mar 2015 17:09:54 +0100 Subject: 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) --- configure.ac | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'configure.ac') 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) ;; -- cgit v1.2.3