diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index a4b802abf..63403ef8a 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -39,6 +39,10 @@
2011-03-30
+
+ [matthew] - Upgrade to GCC-4.6.0. Fixes
+ #2848.
+
[matthew] - Upgrade to Linux-2.6.38.2. Fixes
#2847.
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index cfeb8d05e..65bde1784 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -73,9 +73,9 @@
-
+
@@ -224,6 +224,9 @@
coreutils-&coreutils-version;-sparse_fiemap-1.patch
+
+ &gcc-crosscompile-patch;
+
readline-&readline-version;-fixes-1.patch
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 9057463ed..4d70b0527 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -66,6 +66,14 @@
+
+ GCC Cross Compile Patch - &gcc-crosscompile-patch-size;:
+
+ Download:
+ MD5 sum: &gcc-crosscompile-patch-md5;
+
+
+
GCC Startfiles Fix Patch - &gcc-startfiles-patch-size;:
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 9420e5df6..5d21228ef 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -56,6 +56,12 @@ mv -v gmp-&gmp-version; gmp
tar -zxf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc
+Apply a patch that will allow the building of the libiberty and zlib
+target libraries to be disabled as these do not build correctly in a
+cross-compiled environment:
+
+patch -Np1 -i ../&gcc-crosscompile-patch;
+
The GCC documentation recommends building GCC outside of the
source directory in a dedicated build directory:
@@ -69,9 +75,9 @@ cd ../gcc-build
--disable-nls --disable-shared --disable-multilib \
--disable-decimal-float --disable-threads \
--disable-libmudflap --disable-libssp \
- --disable-libgomp --enable-languages=c \
- --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
- --without-ppl --without-cloog
+ --disable-libgomp --disable-libquadmath \
+ --disable-target-libiberty --disable-target-zlib \
+ --enable-languages=c --without-ppl --without-cloog
The meaning of the configure options:
@@ -86,11 +92,12 @@ cd ../gcc-build
- --disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp
+ --disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp, --disable-libquadmath --disable-target-libiberty --disable-target-zlib
- These switches disable support for the decimal floating point extension,
- threading, libmudflap, libssp and libgomp respectively. These features will fail
- to compile when building a cross-compiler and are not necessary for the task of
+ These switches disable support for the decimal floating point
+ extension, threading, libmudflap, libssp and libgomp, libquadmath,
+ libiberty and zlib respectively. These features will fail to compile
+ when building a cross-compiler and are not necessary for the task of
cross-compiling the temporary libc.
@@ -111,20 +118,6 @@ cd ../gcc-build
-
- --with-gmp-include=...
-
- This option tells GCC where the GMP headers are located.
-
-
-
-
- --with-gmp-lib=...
-
- This option tells GCC where the GMP library is located.
-
-
-
--without-ppl, --without-cloog
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index e191e7b84..85c1a5763 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -157,7 +157,6 @@ cd ../gcc-build
--enable-__cxa_atexit --enable-languages=c,c++ \
--disable-libstdcxx-pch --disable-multilib \
--disable-bootstrap --disable-libgomp \
- --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
--without-ppl --without-cloog
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index 9f11bacee..521eb659a 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -108,7 +108,7 @@ cd ../binutils-build
Test the results:
-make check
+make -j check || true
Install the package:
diff --git a/chapter06/grub.xml b/chapter06/grub.xml
index 6544a5217..dcea697d6 100644
--- a/chapter06/grub.xml
+++ b/chapter06/grub.xml
@@ -46,7 +46,8 @@
--sysconfdir=/etc \
--disable-grub-emu-usb \
--disable-grub-fstest \
- --disable-efiemu
+ --disable-efiemu \
+ --disable-werror
The --disable switches minimize what is built by disabling features
and testing programs not really needed for LFS.
diff --git a/packages.ent b/packages.ent
index c2658cd56..363566e50 100644
--- a/packages.ent
+++ b/packages.ent
@@ -161,10 +161,10 @@
-
-
+
+
-
+
diff --git a/patches.ent b/patches.ent
index cbf2a7a9e..060023ff8 100644
--- a/patches.ent
+++ b/patches.ent
@@ -35,6 +35,10 @@
+
+
+
+