diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 54e26743f..9a2b3ca21 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -89,6 +89,11 @@ first a summary, then a detailed log.
+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
+
August 27, 2004 [jeremy]: Added the readline display wrap
patch to chapter 6.
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 3f43d67bf..cba1baa93 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -44,13 +44,24 @@ cd ../gcc-build
Prepare GCC for compilation:
-../gcc-&gcc-version;/configure --prefix=/tools \
- --libexecdir=/tools/lib --with-local-prefix=/tools \
- --disable-nls --enable-shared --enable-languages=c
+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
The meaning of the configure options:
+
+CC="gcc -B/usr/bin"
+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.
+
+
--with-local-prefix=/tools
The purpose of this switch is to remove /usr/local/include