Browse Source

Correct bootstrap explanation in gcc sections. Thanks to Chris Staub.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8883 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Bruce Dubbs 16 years ago
parent
commit
07312f6eec
3 changed files with 23 additions and 13 deletions
  1. 6 0
      chapter01/changelog.xml
  2. 13 7
      chapter05/gcc-pass2.xml
  3. 4 6
      chapter06/gcc.xml

+ 6 - 0
chapter01/changelog.xml

@@ -40,6 +40,12 @@
     <listitem>
       <para>2009-05-16</para>
       <itemizedlist>
+        <listitem>
+          <para>[bdubbs] - Update gcc instruction explanations.
+          Thanks to Chris Staub for the patch.
+          Fixes
+          <ulink url="&lfs-ticket-root;2363">#2363</ulink>.</para>
+        </listitem>
         <listitem>
           <para>[bdubbs] - Add an explanation about using the barrier
           option in fstab.

+ 13 - 7
chapter05/gcc-pass2.xml

@@ -66,10 +66,11 @@
 <screen><userinput remap="pre">cp -v gcc/Makefile.in{,.orig}
 sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig &gt; gcc/Makefile.in</userinput></screen>
 
-    <para>Non-bootstrap builds omit the <option>-fomit-frame-pointer</option>
-    build flag by default, and the goal should be to produce a compiler that is
-    exactly the same as if it were bootstrapped. Apply the following
-    <command>sed</command> command to force the build to use the flag:</para>
+    <para>For x86 machines, a bootstrap build of GCC uses the
+    <option>-fomit-frame-pointer</option> compiler flag.  Non-bootstrap builds
+    omit this flag by default, and the goal should be to produce a compiler
+    that is exactly the same as if it were bootstrapped.  Apply the following
+    <command>sed</command> command to force the build to use the flag:</para> 
 
 <screen><userinput remap="pre">cp -v gcc/Makefile.in{,.tmp}
 sed 's/^XCFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in.tmp \
@@ -209,9 +210,14 @@ cd ../gcc-build</userinput></screen>
       <varlistentry>
         <term><parameter>--disable-bootstrap</parameter></term>
         <listitem>
-          <para>Bootstrapping the compiler is now the default for GCC. However,
-          our build method should provide us with a solid compiler without the
-          need to bootstrap each time.</para>
+          <para>For native builds of GCC, the default is to a "bootstrap" build.
+          This does not just compile GCC, but compiles it several times. It
+          uses the programs compiled in a first round to compile itself a
+          second time, and then again a third time.  The second and third
+          iterations are compared to make sure it can reproduce itself
+          flawlessly. This also implies that it was compiled correctly.
+          However, the LFS build method should provide a solid compiler
+          without the need to bootstrap each time.</para> 
         </listitem>
       </varlistentry>
 

+ 4 - 6
chapter06/gcc.xml

@@ -48,12 +48,10 @@
 
 <screen><userinput remap="pre">sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
 
-    <para>For x86 machines, the bootstrap build performed in
-    <xref linkend="ch-tools-gcc-pass2"/>
-    built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
-    Non-bootstrap builds omit this flag by default, so apply the following
-    <command>sed</command> to use it in order to ensure consistent compiler
-    builds:</para>
+    <para>As in <xref linkend="ch-tools-gcc-pass2"/>, apply the following
+    <command>sed</command> to force the build to use the
+    <option>-fomit-frame-pointer</option> compiler flag in order to ensure
+    consistent compiler builds:</para> 
 
 <screen><userinput remap="pre">case `uname -m` in
   i?86) sed -i 's/^XCFLAGS =$/&amp; -fomit-frame-pointer/' \