Browse Source

Force use of host's linker through *-pass1

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7963 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Dan Nichilson 18 years ago
parent
commit
acec47884b
5 changed files with 41 additions and 5 deletions
  1. 12 0
      chapter01/changelog.xml
  2. 12 1
      chapter05/binutils-pass1.xml
  3. 12 1
      chapter05/gcc-pass1.xml
  4. 2 2
      general.ent
  5. 3 1
      prologue/hostreqs.xml

+ 12 - 0
chapter01/changelog.xml

@@ -36,6 +36,18 @@
     </listitem>
 -->
 
+    <listitem>
+      <para>2007-03-14</para>
+      <itemizedlist>
+        <listitem>
+          <para>[dnicholson] - Force the host's linker to be used throughout
+          Binutils-Pass1 and GCC-Pass1. This makes the build more robust since
+          the host's compiler may not be compatible with the linker installed
+          in Binutils-Pass1, such as on newer Fedora hosts.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <para>2007-03-04</para>
       <itemizedlist>

+ 12 - 1
chapter05/binutils-pass1.xml

@@ -59,11 +59,22 @@ cd ../binutils-build</userinput></screen>
 
     <para>Now prepare Binutils for compilation:</para>
 
-<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen>
+<screen><userinput>CC="gcc -B/usr/bin/" ../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen>
 
     <variablelist>
       <title>The meaning of the configure options:</title>
 
+      <varlistentry>
+        <term><envar>CC="gcc -B/usr/bin/"</envar></term>
+        <listitem>
+          <para>This forces <command>gcc</command> to prefer the linker from
+          the host in <filename class="directory">/usr/bin</filename>. This
+          is necessary on some hosts where the new <command>ld</command>
+          built here is not compatible with the host's <command>gcc</command>.
+          </para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><parameter>--prefix=/tools</parameter></term>
         <listitem>

+ 12 - 1
chapter05/gcc-pass1.xml

@@ -45,13 +45,24 @@ cd ../gcc-build</userinput></screen>
 
     <para>Prepare GCC for compilation:</para>
 
-<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
+<screen><userinput>CC="gcc -B/usr/bin/" ../gcc-&gcc-version;/configure --prefix=/tools \
     --with-local-prefix=/tools --disable-nls --enable-shared \
     --enable-languages=c</userinput></screen>
 
     <variablelist>
       <title>The meaning of the configure options:</title>
 
+      <varlistentry>
+        <term><envar>CC="gcc -B/usr/bin/"</envar></term>
+        <listitem>
+          <para>This forces <command>gcc</command> to prefer the linker from
+          the host in <filename class="directory">/usr/bin</filename>. This
+          is necessary on some hosts where the new <command>ld</command>
+          built in the previous section is not compatible with the host's
+          <command>gcc</command>.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><parameter>--with-local-prefix=/tools</parameter></term>
         <listitem>

+ 2 - 2
general.ent

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20070304">
-<!ENTITY releasedate "March 4, 2007">
+<!ENTITY version "SVN-20070314">
+<!ENTITY releasedate "March 14, 2007">
 <!ENTITY milestone "6.3">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
 

+ 3 - 1
prologue/hostreqs.xml

@@ -56,7 +56,9 @@
     </listitem>
 
     <listitem>
-      <para><emphasis role="strong">Gcc-2.95.3</emphasis> (Versions
+      <!-- Gcc-2.95.3 breaks feature tests when using CC="gcc -B/usr/bin/"
+           in the *-pass1 sections -->
+      <para><emphasis role="strong">Gcc-3.0.1</emphasis> (Versions
       greater than &gcc-version; are not recommended as they have not
       been tested)</para>
     </listitem>