Index: chapter06/binutils-pass2.xml
===================================================================
--- chapter06/binutils-pass2.xml	(revision 201aa93863b8999290f262baa52e487e01bfada3)
+++ chapter06/binutils-pass2.xml	(revision d9c86378573142f39a28d1ab9bb28303c60ebb9f)
@@ -65,5 +65,5 @@
     <para>Prepare Binutils for compilation:</para>
 
-<screen><userinput remap="configure">../configure                   \
+<screen arch="default"><userinput remap="configure">../configure                   \
     --prefix=/usr              \
     --build=$(../config.guess) \
@@ -75,4 +75,15 @@
     --enable-64-bit-bfd        \
     --enable-default-hash-style=gnu</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure                   \
+    --prefix=/usr              \
+    --build=$(../config.guess) \
+    --host=$LFS_TGT            \
+    --disable-nls              \
+    --enable-shared            \
+    --enable-gprofng=no        \
+    --disable-werror           \
+    --enable-64-bit-bfd        \
+    --enable-default-hash-style=gnu \
+    --enable-multilib</userinput></screen>
 
     <variablelist>
@@ -93,4 +104,11 @@
           <para>Enables 64-bit support (on hosts with smaller word sizes).
           This may not be needed on 64-bit systems, but it does no harm.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry arch="ml_32,ml_x32,ml_all">
+        <term><parameter>--enable-multilib</parameter></term>
+        <listitem>
+          <para>Enables multilib support in bintutils.</para>
         </listitem>
       </varlistentry>
Index: chapter06/gcc-pass2.xml
===================================================================
--- chapter06/gcc-pass2.xml	(revision 201aa93863b8999290f262baa52e487e01bfada3)
+++ chapter06/gcc-pass2.xml	(revision d9c86378573142f39a28d1ab9bb28303c60ebb9f)
@@ -58,8 +58,9 @@
 mv -v mpc-&mpc-version; mpc</userinput></screen>
 
-    <para>If building on x86_64, change the default directory name for 64-bit
+
+    <para arch="default">If building on x86_64, change the default directory name for 64-bit
     libraries to <quote>lib</quote>:</para>
 
-<screen><userinput remap="pre">case $(uname -m) in
+<screen arch="default"><userinput remap="pre">case $(uname -m) in
   x86_64)
     sed -e '/m64=/s/lib64/lib/' \
@@ -68,4 +69,11 @@
 esac</userinput></screen>
 
+    <para arch="ml_32,ml_x32,ml_all">Change the default directory name for the
+    libraries:</para>
+
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+    -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
+    -i.orig gcc/config/i386/t-linux64</userinput></screen>
+
     <para>Override the building rule of libgcc and libstdc++ headers, to
     allow building these libraries with POSIX threads support:</para>
@@ -84,5 +92,5 @@
     <para>Now prepare GCC for compilation:</para>
 
-<screen><userinput remap="configure">../configure                                       \
+<screen arch="default"><userinput remap="configure">../configure                                       \
     --build=$(../config.guess)                     \
     --host=$LFS_TGT                                \
@@ -102,4 +110,26 @@
     --disable-libvtv                               \
     --enable-languages=c,c++</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure" 
+    arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
+    arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
+    arch="ml_all">mlist=m64,m32,mx32</userinput>
+<userinput remap="configure">../configure                                       \
+    --build=$(../config.guess)                     \
+    --host=$LFS_TGT                                \
+    --target=$LFS_TGT                              \
+    LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc      \
+    --prefix=/usr                                  \
+    --with-build-sysroot=$LFS                      \
+    --enable-default-pie                           \
+    --enable-default-ssp                           \
+    --disable-nls                                  \
+    --enable-multilib --with-multilib-list=$mlist  \
+    --disable-libatomic                            \
+    --disable-libgomp                              \
+    --disable-libquadmath                          \
+    --disable-libsanitizer                         \
+    --disable-libssp                               \
+    --disable-libvtv                               \
+    --enable-languages=c,c++</userinput></screen>
 
     <variablelist>
Index: chapter06/ncurses.xml
===================================================================
--- chapter06/ncurses.xml	(revision 201aa93863b8999290f262baa52e487e01bfada3)
+++ chapter06/ncurses.xml	(revision d9c86378573142f39a28d1ab9bb28303c60ebb9f)
@@ -207,4 +207,82 @@
   </sect2>
 
+  <!-- - - - - - - - - - -->
+  <!-- Multilib - 32bit  -->
+  <!-- - - - - - - - - - -->
+  <sect2 arch="ml_32,ml_all">
+    <title>Building Ncurses - 32bit</title>
+
+    <para>Clean previous build:</para>
+
+<screen><userinput remap="pre">make distclean</userinput></screen>
+
+    <para>Prepare Ncurses for compilation:</para>
+
+<screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32"              \
+CXX="$LFS_TGT-g++ -m32"             \
+./configure --prefix=/usr           \
+            --host=$LFS_TGT32       \
+            --build=$(./config.guess)    \
+            --libdir=/usr/lib32     \
+            --mandir=/usr/share/man \
+            --with-shared           \
+            --without-normal        \
+            --with-cxx-shared       \
+            --without-debug         \
+            --without-ada           \
+            --disable-stripping</userinput></screen>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
+ln -sv libncursesw.so DESTDIR/usr/lib32/libncurses.so
+cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32
+rm -rf DESTDIR</userinput></screen>
+
+  </sect2><!-- m32 -->
+
+  <!-- - - - - - - - - - -->
+  <!-- Multilib - x32bit -->
+  <!-- - - - - - - - - - -->
+  <sect2 arch="ml_x32,ml_all">
+    <title>Building Ncurses - x32bit</title>
+
+    <para>Clean previous build:</para>
+
+<screen><userinput remap="pre">make distclean</userinput></screen>
+
+    <para>Prepare Ncurses for compilation:</para>
+
+<screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32"             \
+CXX="$LFS_TGT-g++ -mx32"            \
+./configure --prefix=/usr           \
+            --host=$LFS_TGTX32      \
+            --build=$(./config.guess)    \
+            --libdir=/usr/libx32    \
+            --mandir=/usr/share/man \
+            --with-shared           \
+            --without-normal        \
+            --with-cxx-shared       \
+            --without-debug         \
+            --without-ada           \
+            --disable-stripping</userinput></screen>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
+ln -sv libncursesw.so DESTDIR/usr/libx32/libncurses.so
+cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32
+rm -rf DESTDIR</userinput></screen>
+
+  </sect2><!-- mx32 -->
+
   <sect2 role="content">
     <title/>
