aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml6
-rw-r--r--chapter06/binutils.xml7
-rw-r--r--chapter06/gcc.xml54
3 files changed, 66 insertions, 1 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index de556e53d..074394e8f 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,12 @@
<para>2012-10-15</para>
<itemizedlist>
<listitem>
+ <para>[bdubbs] - Add notes to the gcc and binutils
+ sections in Chapter 6 about "link time optimization"
+ and the extra files built by gcc. Fixes
+ <ulink url="&lfs-ticket-root;3200">#3200</ulink>.</para>
+ </listitem>
+ <listitem>
<para>[bdubbs] - Upgrade to tzdata-2012f. Fixes
<ulink url="&lfs-ticket-root;3205">#3205</ulink>.</para>
</listitem>
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>