diff options
author | Ulrich Müller <ulm@gentoo.org> | 2015-03-16 17:09:54 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2015-04-03 13:44:33 +0200 |
commit | 2d45a5be18ee61e23dfe6af4e23f1eda3595b22c (patch) | |
tree | c6626f2eda5fee981186586db105d97caf98bcd7 /configure.ac | |
parent | 0b914bada39e4577cd9e9209a15c44cc1f83294d (diff) | |
download | emacs-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.ac | 15 |
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) ;; |