emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 9b4b2e9 4/4: Be more conservative in link time opti


From: Paul Eggert
Subject: [Emacs-diffs] master 9b4b2e9 4/4: Be more conservative in link time optimization doc
Date: Tue, 29 Aug 2017 17:58:55 -0400 (EDT)

branch: master
commit 9b4b2e9fc8dfd37ad8f44940a16330c477f896ea
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Be more conservative in link time optimization doc
    
    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      | 18 +++++++-----------
 configure.ac |  8 ++------
 2 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/INSTALL b/INSTALL
index 33084b9..b018055 100644
--- 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'.
diff --git a/configure.ac b/configure.ac
index 3dee407..609ecdc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]