aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSandra Loosemore <sandra@codesourcery.com>2019-07-01 11:42:49 -0400
committerSandra Loosemore <sandra@gcc.gnu.org>2019-07-01 11:42:49 -0400
commit2d526072efb83eacfe0695794f36eb89d260b453 (patch)
tree3aa30078636192436eae1d34109d27200ec8e378 /gcc
parentb94eec3beaf19d2bace6f4f2018d9e0bd1981f56 (diff)
downloadgcc-2d526072efb83eacfe0695794f36eb89d260b453.zip
gcc-2d526072efb83eacfe0695794f36eb89d260b453.tar.gz
gcc-2d526072efb83eacfe0695794f36eb89d260b453.tar.bz2
invoke.texi (Link Options): Further editorial changes to -flinker-output docs.
2019-07-01 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (Link Options): Further editorial changes to -flinker-output docs. From-SVN: r272887
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/invoke.texi43
2 files changed, 27 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 868ac76..fdd5e71 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-07-01 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Link Options): Further editorial changes to
+ -flinker-output docs.
+
2019-07-01 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.c (rs6000_force_indexed_or_indirect_mem):
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6382a84..9c6050b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -6007,8 +6007,9 @@ Warn about types with virtual methods where code quality would be improved
if the type were declared with the C++11 @code{final} specifier,
or, if possible,
declared in an anonymous namespace. This allows GCC to more aggressively
-devirtualize the polymorphic calls. This warning is more effective with link
-time optimization, where the information about the class hierarchy graph is
+devirtualize the polymorphic calls. This warning is more effective with
+link-time optimization,
+where the information about the class hierarchy graph is
more complete.
@item -Wsuggest-final-methods
@@ -13190,49 +13191,49 @@ Options}.
@item -flinker-output=@var{type}
@opindex flinker-output
-This option controls code generation of the link time optimizer. By
+This option controls code generation of the link-time optimizer. By
default the linker output is automatically determined by the linker
plugin. For debugging the compiler and if incremental linking with a
non-LTO object file is desired, it may be useful to control the type
manually.
-If @var{type} is @samp{exec} code generation produces a static
+If @var{type} is @samp{exec}, code generation produces a static
binary. In this case @option{-fpic} and @option{-fpie} are both
disabled.
-If @var{type} is @samp{dyn} code generation produces a shared
+If @var{type} is @samp{dyn}, code generation produces a shared
library. In this case @option{-fpic} or @option{-fPIC} is preserved,
but not enabled automatically. This allows to build shared libraries
-without position independent code on architectures where this is
+without position-independent code on architectures where this is
possible, i.e.@: on x86.
-If @var{type} is @samp{pie} code generation produces an @option{-fpie}
+If @var{type} is @samp{pie}, code generation produces an @option{-fpie}
executable. This results in similar optimizations as @samp{exec}
except that @option{-fpie} is not disabled if specified at compilation
time.
-If @var{type} is @samp{rel} the compiler assumes that incremental linking is
+If @var{type} is @samp{rel}, the compiler assumes that incremental linking is
done. The sections containing intermediate code for link-time optimization are
merged, pre-optimized, and output to the resulting object file. In addition, if
-@option{-ffat-lto-objects} is specified the binary code is produced for future
-non-LTO linking. The object file produced by incremental linking will be smaller
+@option{-ffat-lto-objects} is specified, binary code is produced for future
+non-LTO linking. The object file produced by incremental linking is smaller
than a static library produced from the same object files. At link time the
-result of incremental linking will also load faster to compiler than a static
+result of incremental linking also loads faster than a static
library assuming that the majority of objects in the library are used.
Finally @samp{nolto-rel} configures the compiler for incremental linking where
-code generation is forced, a final binary is produced and the intermediate
+code generation is forced, a final binary is produced, and the intermediate
code for later link-time optimization is stripped. When multiple object files
-are linked together the resulting code will be optimized better than with
-link-time optimizations disabled (for example, cross-module inlining will
-happen), most of benefits of whole program optimizations are however lost.
+are linked together the resulting code is better optimized than with
+link-time optimizations disabled (for example, cross-module inlining
+happens), but most of benefits of whole program optimizations are lost.
-During the incremental link (by @option{-r}) the linker plugin will default to
+During the incremental link (by @option{-r}) the linker plugin defaults to
@option{rel}. With current interfaces to GNU Binutils it is however not
possible to incrementally link LTO objects and non-LTO objects into a single
-mixed object file. In the case any of object files in incremental link cannot
-be used for link-time optimization the linker plugin will issue a warning and
-use @samp{nolto-rel}. To maintain the whole program optimization it is
+mixed object file. If any of object files in incremental link cannot
+be used for link-time optimization, the linker plugin issues a warning and
+uses @samp{nolto-rel}. To maintain whole program optimization, it is
recommended to link such objects into static library instead. Alternatively it
is possible to use H.J. Lu's binutils with support for mixed objects.
@@ -15379,8 +15380,8 @@ Disabled by default.
@item -flto-report-wpa
@opindex flto-report-wpa
-Like @option{-flto-report}, but only print for the WPA phase of Link
-Time Optimization.
+Like @option{-flto-report}, but only print for the WPA phase of link-time
+optimization.
@item -fmem-report
@opindex fmem-report