diff --git a/chapter05/gcc-exp.xml b/chapter05/gcc-exp.xml
index 65c610adc..37a3bea4d 100644
--- a/chapter05/gcc-exp.xml
+++ b/chapter05/gcc-exp.xml
@@ -2,9 +2,9 @@
Command explanations
patch -Np1 -i ../gcc-&gcc-version;.patch:
-This patch fixes a bug in gcc's linker concerning non-exported (weak)
-symbols, which was brought to the surface by the new glibc and also one
-or two other problems which can arise.
+This new patch deals with incorrect handling of weak symbols, the
+over-optimization of calls to those weak symbols, an atexit issue and
+the __dso_handle symbol required for atexit's proper function.
--prefix=/usr: This is NOT a typo. GCC hard
codes some paths while compiling and so we need to pass /usr as the
diff --git a/chapter06/gcc-exp.xml b/chapter06/gcc-exp.xml
index 1eba1c32d..15a399d9d 100644
--- a/chapter06/gcc-exp.xml
+++ b/chapter06/gcc-exp.xml
@@ -2,9 +2,9 @@
Command explanations
patch -Np1 -i ../gcc-&gcc-version;.patch:
-This patch fixes a bug in gcc's linker concerning non-exported (weak)
-symbols, which was brought to the surface by the new glibc and also one
-or two other problems which can arise.
+This new patch deals with incorrect handling of weak symbols, the
+over-optimization of calls to those weak symbols, an atexit issue and
+the __dso_handle symbol required for atexit's proper function.
--enable-languages=c,c++: This only builds the C
and C++ compilers and not the other available compilers as they are, on