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
This commit is contained in:
Paul Eggert 2017-08-29 14:52:57 -07:00
parent e13bdfee17
commit 9b4b2e9fc8
2 changed files with 9 additions and 17 deletions

18
INSTALL
View file

@ -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'.

View 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