aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2012-10-15 19:27:20 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2012-10-15 19:27:20 +0000
commite0901b3e480803837880db7e51ad6a10131eed46 (patch)
treefb21c74b701044cc6d96cfa9355df26dd40e120f /chapter06
parent6baa19d5586855d757691071a7368e76762efaf8 (diff)
Add notes to the gcc and binutils sections in Chapter 6
about "link time optimization" and the extra files built by gcc. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10024 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/binutils.xml7
-rw-r--r--chapter06/gcc.xml54
2 files changed, 60 insertions, 1 deletions
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index 28144969d..b3f5d7675 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -78,6 +78,13 @@ cd ../binutils-build</userinput></screen>
<screen><userinput remap="configure">../binutils-&binutils-version;/configure --prefix=/usr --enable-shared</userinput></screen>
+ <note><para>There is an optional argument to <command>configure</command>,
+ <option>--enable-lto</option>, that can be used to allow the
+ <command>ar</command>, <command>nm</command>, and <command>ranlib</command>
+ commands to accept a <option>--plugin</option> parameter. This is used to
+ allow <command>gcc</command> to do "link time optimization" if specified.
+ No packages in LFS or BLFS currently use this capability.</para></note>
+
<para>Compile the package:</para>
<screen><userinput remap="make">make tooldir=/usr</userinput></screen>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index 54cdad060..e6909b7df 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -96,6 +96,16 @@ cd ../gcc-build</userinput></screen>
</varlistentry>
</variablelist>
+ <note>
+ <para>There is an optional argument to <command>configure</command>,
+ <option>--enable-lto</option>, that can be used to allow
+ <command>gcc</command> to do do "link time optimization" if specified. No
+ packages in LFS or BLFS currently use this capability.</para>
+
+ <para>To use this feature, it must also be enabled in
+ <application>binutils</application>.</para>
+ </note>
+
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
@@ -301,11 +311,14 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
<segtitle>Installed directories</segtitle>
<seglistitem>
- <seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and gcov</seg>
+ <seg>c++, cc (link to gcc), cpp, g++, gcc,
+ gcc-ar, gcc-nm, gcc-ranlib, gccbug, and gcov</seg>
+
<seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp.{a,so},
liblto_plugin.so, libmudflap.{a,so}, libmudflapth.{a,so},
libquadmath.{a,so}, libssp.{a,so},
libssp_nonshared.a, libstdc++.{a,so} and libsupc++.a</seg>
+
<seg>/usr/include/c++, /usr/lib/gcc, /usr/share/gcc-&gcc-version;</seg>
</seglistitem>
</segmentedlist>
@@ -366,6 +379,45 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
</listitem>
</varlistentry>
+ <varlistentry id="gcc-ar">
+ <term><command>gcc-ar</command></term>
+ <listitem>
+ <para>A wrapper around <command>ar</command> that adds a
+ plugin to the command line. This program is only used
+ to add "link time optization" and is not useful with the
+ default build options.</para>
+ <indexterm zone="ch-system-gcc gcc-ar">
+ <primary sortas="b-gcc-ar">gc-ar</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="gcc-nm">
+ <term><command>gcc-nm</command></term>
+ <listitem>
+ <para>A wrapper around <command>nm</command> that adds a
+ plugin to the command line. This program is only used
+ to add "link time optization" and is not useful with the
+ default build options.</para>
+ <indexterm zone="ch-system-gcc gcc-nm">
+ <primary sortas="b-gcc-nm">gc-nm</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="gcc-ranlib">
+ <term><command>gcc-ranlib</command></term>
+ <listitem>
+ <para>A wrapper around <command>ranlib</command> that adds a
+ plugin to the command line. This program is only used
+ to add "link time optization" and is not useful with the
+ default build options.</para>
+ <indexterm zone="ch-system-gcc gcc-ranlib">
+ <primary sortas="b-gcc-ranlib">gc-ranlib</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="gccbug">
<term><command>gccbug</command></term>
<listitem>