[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