diff --git a/chapter04/chapter04.xml b/chapter04/chapter04.xml
index 93c0c9155..a2aff1477 100644
--- a/chapter04/chapter04.xml
+++ b/chapter04/chapter04.xml
@@ -251,11 +251,12 @@ Expect Patch (&expect-patch-version;) - &expect-patch-size;:
Gawk Patch (&gawk-patch-version;) - &gawk-patch-size;:
-GCC Patch (&gcc-2953-patch-version;) - &gcc-2953-patch-size;:
+GCC-2 Patch (&gcc-2953-patch-version;) - &gcc-2953-patch-size;:
-
-GCC-2 Return-type Patch:
-
+GCC-2 No Fixincludes Patch (&gcc-2953-no-fixinc-patch-version;) - &gcc-2953-no-fixinc-patch-size;:
+
+GCC-2 Return Type Patch (&gcc-2953-returntype-fix-patch-version;) - &gcc-2953-returntype-fix-patch-size;:
+
GCC No Fixincludes Patch:
diff --git a/chapter05/binutils-pass1-inst.xml b/chapter05/binutils-pass1-inst.xml
index 1002a5d43..32d8e0008 100644
--- a/chapter05/binutils-pass1-inst.xml
+++ b/chapter05/binutils-pass1-inst.xml
@@ -18,8 +18,8 @@ you have defined any environment variables that override default
optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting or
modifying them when building Binutils.
-It is recommended by the Binutils installation documentation to build
-Binutils outside of the source directory in a dedicated directory:
+The Binutils documentation recommends building Binutils outside of the
+source directory in a dedicated build directory:
mkdir ../binutils-build
cd ../binutils-build
diff --git a/chapter05/binutils-pass2-inst.xml b/chapter05/binutils-pass2-inst.xml
index bb963f520..5317a0e55 100644
--- a/chapter05/binutils-pass2-inst.xml
+++ b/chapter05/binutils-pass2-inst.xml
@@ -7,7 +7,7 @@
chapter is considered not as critical as the one we run in Chapter 6.
-First create a separate build directory again:
+Create a separate build directory again:
mkdir ../binutils-build
cd ../binutils-build
diff --git a/chapter05/gcc-pass1-inst.xml b/chapter05/gcc-pass1-inst.xml
index bf38aa96e..dccef7ffd 100644
--- a/chapter05/gcc-pass1-inst.xml
+++ b/chapter05/gcc-pass1-inst.xml
@@ -17,8 +17,8 @@ Therefore, if you have defined any environment variables that override
default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting
or modifying them when building GCC.
-It is recommended by the GCC installation documentation to build
-GCC outside of the source directory in a dedicated directory:
+The GCC documentation recommends building GCC outside of the source
+directory in a dedicated build directory:
mkdir ../gcc-build
cd ../gcc-build
diff --git a/chapter05/glibc-inst.xml b/chapter05/glibc-inst.xml
index e63792bec..e234235ab 100644
--- a/chapter05/glibc-inst.xml
+++ b/chapter05/glibc-inst.xml
@@ -34,8 +34,8 @@ Apply the following patch to fix this:
patch -Np1 -i ../glibc-2.3.2-sscanf-1.patch
-The documentation that comes with Glibc recommends to build the package
-not in the source directory but in a separate, dedicated directory:
+The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:
mkdir ../glibc-build
cd ../glibc-build
diff --git a/chapter06/binutils-inst.xml b/chapter06/binutils-inst.xml
index 1afc766e2..9ce7dbb8c 100644
--- a/chapter06/binutils-inst.xml
+++ b/chapter06/binutils-inst.xml
@@ -12,8 +12,8 @@ Therefore, if you have defined any environment variables that override
default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting
or modifying them when building Binutils.
-It is recommended by the Binutils installation documentation to build
-Binutils outside of the source directory:
+The Binutils documentation recommends building Binutils outside of the
+source directory in a dedicated build directory:
mkdir ../binutils-build
cd ../binutils-build
diff --git a/chapter06/gcc-2953-inst.xml b/chapter06/gcc-2953-inst.xml
index d229c3f85..e828bf3de 100644
--- a/chapter06/gcc-2953-inst.xml
+++ b/chapter06/gcc-2953-inst.xml
@@ -16,17 +16,31 @@ GCC have not received as much testing for Linux kernel compilation. Using a
later version is likely to work, however, we recommend adhering to the kernel
developer's advice and using the version here to compile your kernel.
+We don't install the C++ compiler or libraries here. However, there
+may be reasons why you would want to install them. More information can be found
+at .
+
We'll install this older release of GCC into the non-standard prefix of
/opt so as to avoid interfering with
the system GCC already installed in /usr
.
-patch -Np1 -i ../gcc-2.95.3-2.patch
-patch -Np1 -i ../gcc-2.95.3-returntype-fix.patch
-echo timestamp > gcc/cstamp-h.in
-mkdir ../gcc-2-build
-cd ../gcc-2-build
-../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \
+Apply the patches and make a small adjustment:
+
+patch -Np1 -i ../gcc-&gcc-2953-patch-version;.patch
+patch -Np1 -i ../gcc-&gcc-2953-no-fixinc-patch-version;-no-fixinc.patch
+patch -Np1 -i ../gcc-&gcc-2953-returntype-fix-patch-version;-returntype-fix.patch
+echo timestamp > gcc/cstamp-h.in
+
+The GCC documentation recommends building GCC outside of the source
+directory in a dedicated build directory:
+
+mkdir ../gcc-2-build
+cd ../gcc-2-build
+
+Compile and install gcc:
+
+../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \
--enable-shared --enable-languages=c \
--enable-threads=posix
make bootstrap
diff --git a/chapter06/gcc-inst.xml b/chapter06/gcc-inst.xml
index 4a5c6fc2e..63d6383c4 100644
--- a/chapter06/gcc-inst.xml
+++ b/chapter06/gcc-inst.xml
@@ -25,9 +25,8 @@ patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch
The second patch here suppresses the installation of libiberty from GCC,
as we will use the one provided by binutils instead.
-GCC's installation documentation recommends to build the package in a
-dedicated directory separate from the source tree. Create this build
-directory and go there:
+The GCC documentation recommends building GCC outside of the source
+directory in a dedicated build directory:
mkdir ../gcc-build
cd ../gcc-build
diff --git a/chapter06/glibc-inst.xml b/chapter06/glibc-inst.xml
index c380b98da..61a37a25a 100644
--- a/chapter06/glibc-inst.xml
+++ b/chapter06/glibc-inst.xml
@@ -22,8 +22,8 @@ flags.
patch -Np1 -i ../glibc-2.3.2-sscanf-1.patch
-The documentation that comes with Glibc recommends to build the package
-not in the source directory but in a separate, dedicated directory:
+The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:
mkdir ../glibc-build
cd ../glibc-build
diff --git a/entities/gcc-2953.ent b/entities/gcc-2953.ent
index 54e9d4ce0..88325afe6 100644
--- a/entities/gcc-2953.ent
+++ b/entities/gcc-2953.ent
@@ -16,6 +16,10 @@
+
+
+
+