Index: BOOK/cross-tools/64/glibc.xml
===================================================================
--- BOOK/cross-tools/64/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/64/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -37,12 +37,4 @@
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='dd'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='de'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../common/glibc.xml"
     xpointer="xpointer(//*[@os='g'])"/>
 
@@ -53,5 +45,5 @@
       --disable-profile --enable-kernel=&glibc-kernel-version; \
       --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-      --enable-obsolete-rpc --cache-file=config.cache</userinput></screen>
+      --enable-obsolete-rpc</userinput></screen>
 
     <variablelist os="dg">
@@ -93,8 +85,4 @@
       href="../common/glibc.xml"
       xpointer="xpointer(//*[@os='dg9'])"/>
-
-      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../common/glibc.xml"
-      xpointer="xpointer(//*[@os='dg10'])"/>
 
     </variablelist>
Index: BOOK/cross-tools/common/glibc.xml
===================================================================
--- BOOK/cross-tools/common/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/common/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -35,9 +35,4 @@
     xpointer="xpointer(//*[@os='f'])"/>
 
-    <para os="dd">Add the following to <filename>config.cache</filename>
-    to disable ssp when building Glibc:</para>
-
-<screen os="de"><userinput>echo "libc_cv_ssp=no" &gt; config.cache</userinput></screen>
-
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="../../final-system/common/glibc.xml"
@@ -50,5 +45,5 @@
     --disable-profile --enable-kernel=&glibc-kernel-version; \
     --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-    --enable-obsolete-rpc --cache-file=config.cache</userinput></screen>
+    --enable-obsolete-rpc</userinput></screen>
 
     <variablelist os="dg">
@@ -129,11 +124,4 @@
       </varlistentry>
 
-      <varlistentry os="dg10">
-        <term><parameter>--cache-file=config.cache</parameter></term>
-        <listitem>
-          <para>This tells Glibc to utilize a premade cache file.</para>
-        </listitem>
-      </varlistentry>
-
     </variablelist>
 
Index: BOOK/cross-tools/mips64/glibc-n32.xml
===================================================================
--- BOOK/cross-tools/mips64/glibc-n32.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/mips64/glibc-n32.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -35,17 +35,8 @@
     xpointer="xpointer(//*[@os='f'])"/>
 
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../multilib/glibc.xml"
-    xpointer="xpointer(//*[@os='dd'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../multilib/glibc.xml"
-    xpointer="xpointer(//*[@os='de'])"/>
-
     <para os="n1">Configure Glibc to install its 32-bit libraries into <filename
     class="directory">/tools/lib32</filename>:</para>
 
-<screen os="n2"><userinput>echo "libc_cv_rtlddir=/tools/lib32" &gt;&gt; config.cache
-echo "libc_cv_slibdir=/tools/lib32" &gt;&gt; config.cache</userinput></screen>
+<screen os="n2"><userinput>echo "libc_cv_slibdir=/tools/lib32" &gt;&gt; config.cache</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/cross-tools/multilib/glibc-64bit.xml
===================================================================
--- BOOK/cross-tools/multilib/glibc-64bit.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/multilib/glibc-64bit.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -35,17 +35,8 @@
     xpointer="xpointer(//*[@os='f'])"/>
 
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="glibc.xml"
-    xpointer="xpointer(//*[@os='dd'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="glibc.xml"
-    xpointer="xpointer(//*[@os='de'])"/>
-
     <para os="n1">Configure Glibc to install its 64-bit libraries into <filename
     class="directory">/tools/lib64</filename>:</para>
 
-<screen os="n2"><userinput>echo "libc_cv_rtlddir=/tools/lib64" &gt;&gt; config.cache
-echo "libc_cv_slibdir=/tools/lib64" &gt;&gt; config.cache</userinput></screen>
+<screen os="n2"><userinput>echo "libc_cv_slibdir=/tools/lib64" &gt;&gt; config.cache</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/cross-tools/multilib/glibc.xml
===================================================================
--- BOOK/cross-tools/multilib/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/multilib/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -37,12 +37,4 @@
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='dd'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='de'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../common/glibc.xml"
     xpointer="xpointer(//*[@os='g'])"/>
 
@@ -53,5 +45,5 @@
     --disable-profile --enable-kernel=&glibc-kernel-version; \
     --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-    --enable-obsolete-rpc --cache-file=config.cache</userinput></screen>
+    --enable-obsolete-rpc</userinput></screen>
 
     <variablelist os="dg">
@@ -98,8 +90,4 @@
       xpointer="xpointer(//*[@os='dg9'])"/>
 
-      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../common/glibc.xml"
-      xpointer="xpointer(//*[@os='dg10'])"/>
-
     </variablelist>
 
Index: BOOK/cross-tools/sparc64-64/glibc.xml
===================================================================
--- BOOK/cross-tools/sparc64-64/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/sparc64-64/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -34,12 +34,4 @@
     href="../common/glibc.xml"
     xpointer="xpointer(//*[@os='f'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='dd'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../sparc64/glibc-64bit.xml"
-    xpointer="xpointer(//*[@os='de'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/cross-tools/sparc64/glibc-64bit.xml
===================================================================
--- BOOK/cross-tools/sparc64/glibc-64bit.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/cross-tools/sparc64/glibc-64bit.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -35,7 +35,5 @@
     xpointer="xpointer(//*[@os='f'])"/>
 
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='dd'])"/>
+    <para os="dd">Add the following variables to <filename>config.cache</filename> so they are set properly:</para>
 
 <screen os="de"><userinput>cat &gt; config.cache &lt;&lt; "EOF"
@@ -44,5 +42,4 @@
 libc_cv_sparc64_tls=yes
 libc_cv_gnu89_inline=yes
-libc_cv_ssp=no
 EOF</userinput></screen>
 
Index: BOOK/final-system/mips64-64/glibc.xml
===================================================================
--- BOOK/final-system/mips64-64/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/final-system/mips64-64/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -53,4 +53,12 @@
     href="../x86_64-64/glibc.xml"
     xpointer="xpointer(//*[@os='l6'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../x86_64-64/glibc.xml"
+    xpointer="xpointer(//*[@os='l7'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../x86_64-64/glibc.xml"
+    xpointer="xpointer(//*[@os='l8'])"/>
 
     <para>Now we will force Glibc to build as 64-bit instead of the default
Index: BOOK/final-system/multilib/glibc-64bit.xml
===================================================================
--- BOOK/final-system/multilib/glibc-64bit.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/final-system/multilib/glibc-64bit.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -46,6 +46,5 @@
     <filename class="directory">/lib64</filename>:</para>
 
-<screen os="m2"><userinput>echo "libc_cv_rtlddir=/lib64" &gt;&gt; config.cache
-echo "libc_cv_slibdir=/lib64" &gt;&gt; config.cache</userinput></screen>
+<screen os="m2"><userinput>echo "libc_cv_slibdir=/lib64" &gt;&gt; config.cache</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/final-system/ppc64-64/glibc.xml
===================================================================
--- BOOK/final-system/ppc64-64/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/final-system/ppc64-64/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -53,4 +53,12 @@
     href="../x86_64-64/glibc.xml"
     xpointer="xpointer(//*[@os='l6'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../x86_64-64/glibc.xml"
+    xpointer="xpointer(//*[@os='l7'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../x86_64-64/glibc.xml"
+    xpointer="xpointer(//*[@os='l8'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
@@ -119,16 +127,7 @@
     xpointer="xpointer(//*[@os='t'])"/>
 
-    <para>Now we can remove this symlink. We also need to correct the <command>
-    /usr/bin/ldd</command> script - if you look at this, you will see it references
-    not only the 32-bit linker, but also /lib64 where it thinks the 64-bit linker
-    is. The following <command>sed</command> will correct this:</para>
+    <para>Now we can remove this symlink:</para>
 
-    <screen><userinput>rm -v /lib/ld.so.1
-sed -i.bak '/RTLDLIST/s%/ld.so.1 /lib64%%' /usr/bin/ldd</userinput></screen>
-
-    <para>Check the script to make sure the sed worked correctly, then delete
-    the backup.</para>
-
-    <screen><userinput>rm -v /usr/bin/ldd.bak</userinput></screen>
+    <screen><userinput>rm -v /lib/ld.so.1</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/final-system/sparc64-64/glibc.xml
===================================================================
--- BOOK/final-system/sparc64-64/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/final-system/sparc64-64/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -61,4 +61,12 @@
     href="../x86_64-64/glibc.xml"
     xpointer="xpointer(//*[@os='l6'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../x86_64-64/glibc.xml"
+    xpointer="xpointer(//*[@os='l7'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../x86_64-64/glibc.xml"
+    xpointer="xpointer(//*[@os='l8'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/final-system/x86_64-64/glibc.xml
===================================================================
--- BOOK/final-system/x86_64-64/glibc.xml	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/final-system/x86_64-64/glibc.xml	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -49,6 +49,11 @@
     <filename class="directory">/lib</filename>:</para>
 
-<screen os="l6"><userinput>echo "libc_cv_rtlddir=/lib" &gt;&gt; config.cache
-echo "libc_cv_slibdir=/lib" &gt;&gt; config.cache</userinput></screen>
+<screen os="l6"><userinput>echo "libc_cv_slibdir=/lib" &gt;&gt; config.cache</userinput></screen>
+
+    <para os="l7">Modify the <command>ldd</command> rewrite script to remove
+    <filename class="directory">lib64</filename> and
+    <filename class="directory">libx32</filename> from RTLDLIST.</para>
+
+<screen os="l8"><userinput>sed -i '/RTLDLIST/d' sysdeps/unix/sysv/linux/*/ldd-rewrite.sed</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
@@ -127,16 +132,7 @@
     xpointer="xpointer(//*[@os='t'])"/>
 
-    <para>Now we can remove this symlink.  We also need to correct the <command>
-    /usr/bin/ldd</command> script - if you look at this, you will see it references
-    not only the 32-bit linker, but also /lib64 where it thinks the 64-bit linker
-    is. The following <command>sed</command> will correct this:</para>
+    <para>Now we can remove this symlink:</para>
 
-    <screen><userinput>rm -v /lib/ld-linux.so.2
-sed -i.bak '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' /usr/bin/ldd</userinput></screen>
-
-    <para>Check the script to make sure the sed worked correctly, then delete
-    the backup.</para>
-
-    <screen><userinput>rm -v /usr/bin/ldd.bak</userinput></screen>
+    <screen><userinput>rm -v /lib/ld-linux.so.2</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
Index: BOOK/packages.ent
===================================================================
--- BOOK/packages.ent	(revision e869c0f1ea19b7f453b1a1c0cf446c6308e41e72)
+++ BOOK/packages.ent	(revision 71cd9de45551ddff66984d1b226ec3cd78dc9448)
@@ -208,8 +208,8 @@
 <!ENTITY gettext-home "&gnu-software;gettext">
 
-<!ENTITY glibc-version "2.20">
-<!ENTITY glibc-size "12,284 KB">
+<!ENTITY glibc-version "2.22">
+<!ENTITY glibc-size "12,969 KB">
 <!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.xz">
-<!ENTITY glibc-md5 "948a6e06419a01bd51e97206861595b0">
+<!ENTITY glibc-md5 "e51e02bf552a0a1fbbdc948fb2f5e83c">
 <!ENTITY glibc-home "&gnu-software;libc/">
 <!ENTITY glibc-ld-name "ld-&glibc-version;.so">
