Experimental change - Added -B/usr/bin to compiler flags for GCC Pass 1 - should result in a fix for the problem we encountered with LFS 5.1.1 building an older toolchain from a newer.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4058 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Jeremy Utley 2004-08-28 01:17:34 +00:00
parent 5e81f0221f
commit b3c46bf730
2 changed files with 19 additions and 3 deletions

View File

@ -89,6 +89,11 @@ first a summary, then a detailed log.</para>
</itemizedlist>
</listitem>
<listitem><para>August 27, 2004 [jeremy]: (Experimental) Added -B/usr/bin flag
to GCC Pass 1 to solve possible problem where the host's toolchain is
actually newer than the one we're building. Change taken from Greg Schafer's
DIY-Linux project</para></listitem>
<listitem><para>August 27, 2004 [jeremy]: Added the readline display wrap
patch to chapter 6.</para></listitem>

View File

@ -44,13 +44,24 @@ cd ../gcc-build</userinput></screen>
<para>Prepare GCC for compilation:</para>
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
--libexecdir=/tools/lib --with-local-prefix=/tools \
--disable-nls --enable-shared --enable-languages=c</userinput></screen>
<screen><userinput>CC="gcc -B/usr/bin" ../gcc-&gcc-version;/configure
--prefix=/tools --libexecdir=/tools/lib
--with-local-prefix=/tools --disable-nls
--enable-shared --enable-languages=c</userinput></screen>
<para>The meaning of the configure options:</para>
<variablelist>
<varlistentry>
<term><parameter>CC="gcc -B/usr/bin"</parameter></term>
<listitem><para>This parameter fixes a possible problem with building GCC
at this stage, first noticed in LFS 5.1.1. If our host uses a new version
of Binutils than we compiled, the host compiler may try use features not
supported by our new linker, causing compilation errors. By passing the -B
flag to gcc, we cause the compiler to temporarily use the host's linker,
which solves the problem.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-local-prefix=/tools</parameter></term>
<listitem><para>The purpose of this switch is to remove <filename class="directory">/usr/local/include</filename>