]> git.eshelyaron.com Git - emacs.git/commitdiff
Be more conservative in link time optimization doc
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 29 Aug 2017 21:52:57 +0000 (14:52 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 29 Aug 2017 21:58:49 +0000 (14:58 -0700)
While testing --enable-link-time-optimization with GCC 7.1.1
I ran into a serious GCC code-generation bug which makes me
think that --enable-link-time-optimization should be
discouraged for typical installs (Bug#28213).  See:
https://bugzilla.redhat.com/show_bug.cgi?id=1486455

INSTALL
configure.ac

diff --git a/INSTALL b/INSTALL
index 33084b9da38964b2e17ca4647893fbe68d0834fb..b018055f028dd233bcf9be177b23fee55aeccbfb 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -339,17 +339,13 @@ Use --disable-silent-rules to cause 'make' to give more details about
 the commands it executes.  This can be helpful when debugging a build
 that goes awry.  'make V=1' also enables the extra chatter.
 
-Use --enable-link-time-optimization to enable link-time optimizer.  If
-you're using GNU compiler, this feature is supported since version 4.5.0.
-If 'configure' can determine number of online CPUS on your system, final
-link-time optimization and code generation is executed in parallel using
-one job per each available online CPU.
-
-This option is also supported for clang.  You should have GNU binutils
-with 'gold' linker and plugin support, and clang with LLVMgold.so plugin.
-Read http://llvm.org/docs/GoldPlugin.html for details.  Also note that
-this feature is still experimental, so prepare to build binutils and
-clang from the corresponding source code repositories.
+Use --enable-link-time-optimization to enable link-time optimization.
+With GCC, you need GCC 4.5.0 and later, and 'configure' arranges for
+linking to be parallelized if possible.  With Clang, you need GNU
+binutils with the gold linker and plugin support, along with the LLVM
+gold plugin <http://llvm.org/docs/GoldPlugin.html>.  Link time
+optimization is not the default as it tends to cause crashes and to
+make Emacs slower.
 
 The '--prefix=PREFIXDIR' option specifies where the installation process
 should put emacs and its data files.  This defaults to '/usr/local'.
index 3dee40704dd2df418169b31379e54b446886b583..609ecdc8f1af094cc54ac271319e51470e99cd72 100644 (file)
@@ -1041,12 +1041,8 @@ edit_cflags="
 
 AC_ARG_ENABLE(link-time-optimization,
 [AS_HELP_STRING([--enable-link-time-optimization],
-                [build emacs with link-time optimization.
-                This requires GCC 4.5.0 or later, or clang.
-                (Note that clang support is experimental - see INSTALL.)
-                It also makes Emacs harder to debug, and when we tried it
-                with GCC 4.9.0 x86-64 it made Emacs slower, so it's not
-                recommended for typical use.])],
+                [build with link-time optimization
+                (experimental; see INSTALL)])])
 if test "${enableval}" != "no"; then
    ac_lto_supported=no
    if test "$emacs_cv_clang" = yes; then