diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-04-03 13:05:23 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-04-03 13:06:02 -0700 |
commit | 95ef69e7468e598d6f4ae875f683b3996ecc02eb (patch) | |
tree | 5b0dc6be8b01deabc2f4dfa591eaafa3065e51b6 | |
parent | 8596eb1282c4d5bdb22b20c155183b39fdc8eb00 (diff) |
Port 'configure' to clang 3.5
* configure.ac: Add -Wno-unknown-attributes if clang; otherwise
clang 3.5.0 (Fedora 21 x86-64) complains
"/usr/include/glib-2.0/glib/gmem.h: ... warning: unknown attribute
'__alloc_size__' ignored". Use -Werror when checking for -nopie;
otherwise clang warns about -nopie instead of failing, and then
later it warns everytime the build uses -nopie.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | configure.ac | 23 |
2 files changed, 25 insertions, 8 deletions
@@ -1,3 +1,13 @@ +2015-04-03 Paul Eggert <eggert@cs.ucla.edu> + + Port 'configure' to clang 3.5 + * configure.ac: Add -Wno-unknown-attributes if clang; otherwise + clang 3.5.0 (Fedora 21 x86-64) complains + "/usr/include/glib-2.0/glib/gmem.h: ... warning: unknown attribute + '__alloc_size__' ignored". Use -Werror when checking for -nopie; + otherwise clang warns about -nopie instead of failing, and then + later it warns everytime the build uses -nopie. + 2015-04-03 Ulrich Müller <ulm@gentoo.org> * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Add -nopie option if it diff --git a/configure.ac b/configure.ac index d2a9b375e4..c504ed436c 100644 --- a/configure.ac +++ b/configure.ac @@ -883,6 +883,7 @@ if test "$gl_gcc_warnings" != yes; then gl_WARN_ADD([-Wno-tautological-constant-out-of-range-compare]) gl_WARN_ADD([-Wno-pointer-sign]) gl_WARN_ADD([-Wno-string-plus-int]) + gl_WARN_ADD([-Wno-unknown-attributes]) fi else isystem='-isystem ' @@ -5030,16 +5031,22 @@ case "$opsys" in *) LD_SWITCH_SYSTEM_TEMACS= ;; esac -AC_CACHE_CHECK([whether the linker accepts -nopie], +# -nopie fixes a temacs segfault on Gentoo for some reason (Bug#18784). +# We don't know why -nopie works, but not segfaulting is better than +# segfaulting. Use -Werror when trying -nopie, otherwise clang keeps +# warning that it does not understand -nopie. +AC_CACHE_CHECK([whether $CC 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]) + [emacs_save_CFLAGS=$CFLAGS + emacs_save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS -Werror" + LDFLAGS="$LDFLAGS -nopie" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], + [emacs_cv_prog_cc_nopie=yes], + [emacs_cv_prog_cc_nopie=no]) + CFLAGS=$emacs_save_CFLAGS + 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 |