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 @@ + + + +