Эх сурвалжийг харах

Change profiling attribute to enable selection of m32 and/or mx32. Fixes #4452.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11571 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Thomas Trepl 6 жил өмнө
parent
commit
c448bedff3

+ 6 - 2
Makefile

@@ -38,8 +38,12 @@ ifndef ARCH
   ARCH = default
   ARCH = default
 endif
 endif
 ifneq ($(ARCH), default)
 ifneq ($(ARCH), default)
-  ifneq ($(ARCH), multilib)
-    $(error ARCH must be either 'default' (default if unset) or 'multilib'.)
+  ifneq ($(ARCH), ml_32)
+    ifneq ($(ARCH), ml_x32)
+      ifneq ($(ARCH), ml_all)
+        $(error ARCH must be either 'default' (default if unset), 'ml_32', 'ml_x32' or 'ml_all'.)
+      endif
+    endif
   endif
   endif
 endif
 endif
 
 

+ 3 - 3
chapter01/askforhelp.xml

@@ -39,10 +39,10 @@
     <itemizedlist>
     <itemizedlist>
       <listitem>
       <listitem>
         <para>The version of the book being used (in this case 
         <para>The version of the book being used (in this case 
-              <phrase arch="default" revision="sysv">&version;</phrase>
-              <phrase arch="multilib" revision="sysv">&version;-multilib</phrase>
+          <phrase arch="default" revision="sysv">&version;</phrase>
+          <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase>
           <phrase arch="default" revision="systemd">&versiond;</phrase>
           <phrase arch="default" revision="systemd">&versiond;</phrase>
-          <phrase arch="multilib" revision="systemd">&versiond;-multilib</phrase>)</para>
+          <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>)</para>
 
 
       </listitem>
       </listitem>
       <listitem>
       <listitem>

+ 2 - 2
chapter01/changelog.xml

@@ -12,9 +12,9 @@
 
 
   <para>This is version 
   <para>This is version 
         <phrase arch="default" revision="sysv">&version;</phrase>
         <phrase arch="default" revision="sysv">&version;</phrase>
-        <phrase arch="multilib" revision="sysv">&version;-multilib</phrase>
+        <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase>
         <phrase arch="default" revision="systemd">&versiond;</phrase>
         <phrase arch="default" revision="systemd">&versiond;</phrase>
-        <phrase arch="multilib" revision="systemd">&versiond;-multilib</phrase> 
+        <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase> 
   of the Linux From Scratch book, dated
   of the Linux From Scratch book, dated
   &releasedate;. If this book is more than six months old, a newer and better
   &releasedate;. If this book is more than six months old, a newer and better
   version is probably already available. To find out, please check one of the
   version is probably already available. To find out, please check one of the

+ 1 - 1
chapter04/settingenviron.xml

@@ -47,7 +47,7 @@ PATH=/tools/bin:/bin:/usr/bin
 export LFS LC_ALL LFS_TGT PATH</literal>
 export LFS LC_ALL LFS_TGT PATH</literal>
 EOF</userinput></screen>
 EOF</userinput></screen>
 
 
-<screen arch="multilib"><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
+<screen arch="ml_32,ml_x32,ml_all"><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
 <literal>set +h
 <literal>set +h
 umask 022
 umask 022
 LFS=/mnt/lfs
 LFS=/mnt/lfs

+ 7 - 4
chapter05/binutils-pass1.xml

@@ -79,9 +79,12 @@ cd       build</userinput></screen>
              --disable-nls              \
              --disable-nls              \
              --disable-werror</userinput></screen>
              --disable-werror</userinput></screen>
 
 
-    <screen arch="multilib"><userinput remap="configure">../configure --prefix=/tools \
+    <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">lpath=/tools/lib</userinput>
+<userinput remap="configure" arch="ml_32,ml_all">lpath="$lpath:/tools/lib32"</userinput>
+<userinput remap="configure" arch="ml_x32,ml_all">lpath="$lpath:/tools/libx32"</userinput>
+<userinput remap="configure">../configure --prefix=/tools \
              --with-sysroot=$LFS                     \
              --with-sysroot=$LFS                     \
-             --with-lib-path=/tools/lib:/tools/lib32:/tools/libx32 \
+             --with-lib-path=$lpath                  \
              --target=$LFS_TGT                       \
              --target=$LFS_TGT                       \
              --disable-nls                           \
              --disable-nls                           \
              --disable-werror                        \
              --disable-werror                        \
@@ -158,14 +161,14 @@ cd       build</userinput></screen>
     <para arch="default">If building on x86_64, create a symlink to ensure the
     <para arch="default">If building on x86_64, create a symlink to ensure the
     sanity of the toolchain:</para>
     sanity of the toolchain:</para>
 
 
-    <para arch="multilib">Create a symlink to ensure the sanity of
+    <para arch="ml_32,ml_x32,ml_all">Create a symlink to ensure the sanity of
     the toolchain:</para>
     the toolchain:</para>
 
 
 <screen arch="default"><userinput remap="install">case $(uname -m) in
 <screen arch="default"><userinput remap="install">case $(uname -m) in
   x86_64) mkdir -v /tools/lib &amp;&amp; ln -sv lib /tools/lib64 ;;
   x86_64) mkdir -v /tools/lib &amp;&amp; ln -sv lib /tools/lib64 ;;
 esac</userinput></screen>
 esac</userinput></screen>
 
 
-<screen arch="multilib"><userinput remap="install">mkdir -v /tools/lib &amp;&amp;
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="install">mkdir -v /tools/lib &amp;&amp;
 ln -sv lib /tools/lib64</userinput></screen>
 ln -sv lib /tools/lib64</userinput></screen>
 
 
     <para>Install the package:</para>
     <para>Install the package:</para>

+ 15 - 6
chapter05/binutils-pass2.xml

@@ -60,14 +60,17 @@ RANLIB=$LFS_TGT-ranlib         \
     --with-lib-path=/tools/lib \
     --with-lib-path=/tools/lib \
     --with-sysroot</userinput></screen>
     --with-sysroot</userinput></screen>
 
 
-<screen arch="multilib"><userinput remap="configure">CC=$LFS_TGT-gcc                \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">lpath=/tools/lib</userinput>
+<userinput remap="configure" arch="ml_32,ml_all">lpath="$lpath:/tools/lib32"</userinput>
+<userinput remap="configure" arch="ml_x32,ml_all">lpath="$lpath:/tools/libx32"</userinput>
+<userinput remap="configure">CC=$LFS_TGT-gcc                \
 AR=$LFS_TGT-ar                 \
 AR=$LFS_TGT-ar                 \
 RANLIB=$LFS_TGT-ranlib         \
 RANLIB=$LFS_TGT-ranlib         \
 ../configure                   \
 ../configure                   \
     --prefix=/tools            \
     --prefix=/tools            \
     --disable-nls              \
     --disable-nls              \
     --disable-werror           \
     --disable-werror           \
-    --with-lib-path=/tools/lib:/tools/lib32:/tools/libx32 \
+    --with-lib-path=$lpath     \
     --with-sysroot             \
     --with-sysroot             \
     --enable-64-bit-bfd        \
     --enable-64-bit-bfd        \
     --enable-multilib</userinput></screen>
     --enable-multilib</userinput></screen>
@@ -95,7 +98,7 @@ RANLIB=$LFS_TGT-ranlib         \
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry arch="multilib">
+      <varlistentry arch="ml_32,ml_x32,ml_all">
         <term><parameter>--with-lib-path=/tools/lib:...</parameter></term>
         <term><parameter>--with-lib-path=/tools/lib:...</parameter></term>
         <listitem>
         <listitem>
           <para>This tells the configure script to specify the library
           <para>This tells the configure script to specify the library
@@ -118,14 +121,14 @@ RANLIB=$LFS_TGT-ranlib         \
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry arch="multilib">
+      <varlistentry arch="ml_32,ml_x32,ml_all">
         <term><parameter>--enable-64-bit-bfd</parameter></term>
         <term><parameter>--enable-64-bit-bfd</parameter></term>
         <listitem>
         <listitem>
           <para>TODO</para>
           <para>TODO</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
       
       
-      <varlistentry arch="multilib">
+      <varlistentry arch="ml_32,ml_x32,ml_all">
         <term><parameter>--enable-multilib</parameter></term>
         <term><parameter>--enable-multilib</parameter></term>
         <listitem>
         <listitem>
           <para>TODO</para>
           <para>TODO</para>
@@ -149,8 +152,14 @@ RANLIB=$LFS_TGT-ranlib         \
 make -C ld LIB_PATH=/usr/lib:/lib
 make -C ld LIB_PATH=/usr/lib:/lib
 cp -v ld/ld-new /tools/bin</userinput></screen>
 cp -v ld/ld-new /tools/bin</userinput></screen>
 
 
-<screen arch="multilib"><userinput remap="adjust">make -C ld clean
+<screen arch="ml_all"><userinput remap="adjust">make -C ld clean
 make -C ld LIB_PATH=/usr/lib:/lib:/usr/lib32:/lib32:/usr/libx32:/libx32
 make -C ld LIB_PATH=/usr/lib:/lib:/usr/lib32:/lib32:/usr/libx32:/libx32
+cp -v ld/ld-new /tools/bin</userinput></screen>
+<screen arch="ml_32"><userinput remap="adjust">make -C ld clean
+make -C ld LIB_PATH=/usr/lib:/lib:/usr/lib32:/lib32
+cp -v ld/ld-new /tools/bin</userinput></screen>
+<screen arch="ml_x32"><userinput remap="adjust">make -C ld clean
+make -C ld LIB_PATH=/usr/lib:/lib:/usr/libx32:/libx32
 cp -v ld/ld-new /tools/bin</userinput></screen>
 cp -v ld/ld-new /tools/bin</userinput></screen>
 
 
     <variablelist>
     <variablelist>

+ 11 - 8
chapter05/gcc-pass1.xml

@@ -49,7 +49,7 @@
     rename the resulting directories so the GCC build procedures will
     rename the resulting directories so the GCC build procedures will
     automatically use them:</para>
     automatically use them:</para>
 
 
-    <para arch="multilib">GCC now requires the GMP, ISL, MPFR, and MPC packages.
+    <para arch="ml_32,ml_x32,ml_all">GCC now requires the GMP, ISL, MPFR, and MPC packages.
     As these packages may not be included in your host distribution, they will
     As these packages may not be included in your host distribution, they will
     be built with GCC.  Unpack each package into the GCC source directory and 
     be built with GCC.  Unpack each package into the GCC source directory and 
     rename the resulting directories so the GCC build procedures will 
     rename the resulting directories so the GCC build procedures will 
@@ -67,7 +67,7 @@ tar -xf ../gmp-&gmp-version;.tar.xz
 mv -v gmp-&gmp-version; gmp
 mv -v gmp-&gmp-version; gmp
 tar -xf ../mpc-&mpc-version;.tar.gz
 tar -xf ../mpc-&mpc-version;.tar.gz
 mv -v mpc-&mpc-version; mpc</userinput></screen>
 mv -v mpc-&mpc-version; mpc</userinput></screen>
-<screen arch="multilib"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
 mv -v mpfr-&mpfr-version; mpfr
 mv -v mpfr-&mpfr-version; mpfr
 tar -xf ../gmp-&gmp-version;.tar.xz
 tar -xf ../gmp-&gmp-version;.tar.xz
 mv -v gmp-&gmp-version; gmp
 mv -v gmp-&gmp-version; gmp
@@ -121,7 +121,7 @@ done</userinput></screen>
  ;;
  ;;
 esac</userinput></screen>
 esac</userinput></screen>
 
 
-<screen arch="multilib"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
     -i.orig gcc/config/i386/t-linux64
     -i.orig gcc/config/i386/t-linux64
 cat > gcc/config/i386/t-linux64 &lt;&lt;"EOF"
 cat > gcc/config/i386/t-linux64 &lt;&lt;"EOF"
 comma=,
 comma=,
@@ -149,9 +149,9 @@ EOF</userinput></screen>
     <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
     <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
     <!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 -->
     <!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 -->
     <!-- Fix applied in ch5-gcc-pass{1,2}, ch6-gcc -->
     <!-- Fix applied in ch5-gcc-pass{1,2}, ch6-gcc -->
-    <para arch="multilib">Fix an issue with isl-&isl-version;:</para>
+    <para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
 
 
-<screen arch="multilib"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     -i gcc/graphite.h</userinput></screen>
     -i gcc/graphite.h</userinput></screen>
 
 
     <para>The GCC documentation recommends building GCC 
     <para>The GCC documentation recommends building GCC 
@@ -185,7 +185,10 @@ cd       build</userinput></screen>
     --disable-libstdcxx                            \
     --disable-libstdcxx                            \
     --enable-languages=c,c++</userinput></screen>
     --enable-languages=c,c++</userinput></screen>
 
 
-<screen arch="multilib"><userinput remap="configure">../configure                                       \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">mlist="m64"</userinput>
+<userinput arch="ml_32,ml_all" remap="configure">mlist="$mlist,m32"</userinput>
+<userinput arch="ml_x32,ml_all" remap="configure">mlist="$mlist,mx32"</userinput>
+<userinput remap="configure">../configure                                       \
     --target=$LFS_TGT                              \
     --target=$LFS_TGT                              \
     --prefix=/tools                                \
     --prefix=/tools                                \
     --with-glibc-version=2.11                      \
     --with-glibc-version=2.11                      \
@@ -197,7 +200,7 @@ cd       build</userinput></screen>
     --disable-nls                                  \
     --disable-nls                                  \
     --disable-shared                               \
     --disable-shared                               \
     --enable-multilib                              \
     --enable-multilib                              \
-    --with-multilib-list=m32,m64,mx32              \
+    --with-multilib-list=$mlist                    \
     --disable-decimal-float                        \
     --disable-decimal-float                        \
     --disable-threads                              \
     --disable-threads                              \
     --disable-libatomic                            \
     --disable-libatomic                            \
@@ -286,7 +289,7 @@ cd       build</userinput></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry arch="multilib">
+      <varlistentry arch="ml_32,ml_x32,ml_all">
         <term><parameter>--enable-multilib,
         <term><parameter>--enable-multilib,
                          --with-multilib-list=m32,m64,mx32</parameter></term>
                          --with-multilib-list=m32,m64,mx32</parameter></term>
         <listitem>
         <listitem>

+ 19 - 16
chapter05/gcc-pass2.xml

@@ -93,10 +93,10 @@ done</userinput></screen>
   ;;
   ;;
 esac</userinput></screen>
 esac</userinput></screen>
 
 
-    <para arch="multilib">Change the default directory name for 64-bit
+    <para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit
     libraries to <quote>lib</quote>:</para>
     libraries to <quote>lib</quote>:</para>
 
 
-<screen arch="multilib"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
     -i.orig gcc/config/i386/t-linux64
     -i.orig gcc/config/i386/t-linux64
 cat > gcc/config/i386/t-linux64 &lt;&lt;"EOF"
 cat > gcc/config/i386/t-linux64 &lt;&lt;"EOF"
 comma=,
 comma=,
@@ -111,7 +111,7 @@ EOF</userinput></screen>
     MPFR, and MPC packages. Unpack the tarballs and move them into the
     MPFR, and MPC packages. Unpack the tarballs and move them into the
     required directory names:</para>
     required directory names:</para>
 
 
-    <para arch="multilib">As in the first build of GCC it requires the GMP,
+    <para arch="ml_32,ml_x32,ml_all">As in the first build of GCC it requires the GMP,
     ISL, MPFR, and MPC packages. Unpack the tarballs and move them into the
     ISL, MPFR, and MPC packages. Unpack the tarballs and move them into the
     required directory names:</para>
     required directory names:</para>
 
 
@@ -121,7 +121,7 @@ tar -xf ../gmp-&gmp-version;.tar.xz
 mv -v gmp-&gmp-version; gmp
 mv -v gmp-&gmp-version; gmp
 tar -xf ../mpc-&mpc-version;.tar.gz
 tar -xf ../mpc-&mpc-version;.tar.gz
 mv -v mpc-&mpc-version; mpc</userinput></screen>
 mv -v mpc-&mpc-version; mpc</userinput></screen>
-<screen arch="multilib"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
 mv -v mpfr-&mpfr-version; mpfr
 mv -v mpfr-&mpfr-version; mpfr
 tar -xf ../gmp-&gmp-version;.tar.xz
 tar -xf ../gmp-&gmp-version;.tar.xz
 mv -v gmp-&gmp-version; gmp
 mv -v gmp-&gmp-version; gmp
@@ -131,9 +131,9 @@ tar -xf ../isl-&isl-version;.tar.xz
 mv -v isl-&isl-version; isl</userinput></screen>
 mv -v isl-&isl-version; isl</userinput></screen>
 
 
     <!-- Following patch might be obsolete with gcc >= 8.2.1 --> 
     <!-- Following patch might be obsolete with gcc >= 8.2.1 --> 
-    <para arch="multilib">Fix an issue with isl-&isl-version;:</para>
+    <para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
 
 
-<screen arch="multilib"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     -i gcc/graphite.h</userinput></screen>
     -i gcc/graphite.h</userinput></screen>
 
 
     <para>Create a separate build directory again:</para>
     <para>Create a separate build directory again:</para>
@@ -160,7 +160,10 @@ RANLIB=$LFS_TGT-ranlib                             \
     --disable-bootstrap                            \
     --disable-bootstrap                            \
     --disable-libgomp</userinput></screen>
     --disable-libgomp</userinput></screen>
 
 
-<screen arch="multilib"><userinput remap="configure">CC=$LFS_TGT-gcc                                    \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">mlist="m64"</userinput>
+<userinput arch="ml_32,ml_all" remap="configure">mlist="$mlist,m32"</userinput>
+<userinput arch="ml_x32,ml_all" remap="configure">mlist="$mlist,mx32"</userinput>
+<userinput remap="configure">CC=$LFS_TGT-gcc                                    \
 CXX=$LFS_TGT-g++                                   \
 CXX=$LFS_TGT-g++                                   \
 AR=$LFS_TGT-ar                                     \
 AR=$LFS_TGT-ar                                     \
 RANLIB=$LFS_TGT-ranlib                             \
 RANLIB=$LFS_TGT-ranlib                             \
@@ -171,7 +174,7 @@ RANLIB=$LFS_TGT-ranlib                             \
     --enable-languages=c,c++                       \
     --enable-languages=c,c++                       \
     --disable-libstdcxx-pch                        \
     --disable-libstdcxx-pch                        \
     --enable-multilib                              \
     --enable-multilib                              \
-    --with-multilib-list=m32,m64,mx32              \
+    --with-multilib-list=$mlist                    \
     --with-system-zlib                             \
     --with-system-zlib                             \
     --disable-bootstrap                            \
     --disable-bootstrap                            \
     --disable-libgomp</userinput></screen>
     --disable-libgomp</userinput></screen>
@@ -244,23 +247,23 @@ readelf -l a.out | grep ': /tools'</userinput></screen>
 <screen><computeroutput>[Requesting program interpreter: /tools/lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
 <screen><computeroutput>[Requesting program interpreter: /tools/lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
 
 
 
 
-    <para arch="multilib">Repeat the test for 32-bit:</para>
+    <para arch="ml_32,ml_all">Repeat the test for 32-bit:</para>
 
 
-<screen arch="multilib"><userinput>cc -m32 dummy.c
+<screen arch="ml_32,ml_all"><userinput>cc -m32 dummy.c
 readelf -l a.out | grep ': /tools'</userinput></screen>
 readelf -l a.out | grep ': /tools'</userinput></screen>
 
 
-    <para arch="multilib">In this case, the output shoud be:</para>
+    <para arch="ml_32,ml_all">In this case, the output shoud be:</para>
 
 
-<screen arch="multilib"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
+<screen arch="ml_32,ml_all"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
 
 
-    <para arch="multilib">Repeat the test for x32-bit:</para>
+    <para arch="ml_x32,ml_all">Repeat the test for x32-bit:</para>
 
 
-<screen arch="multilib"><userinput>cc -mx32 dummy.c
+<screen arch="ml_x32,ml_all"><userinput>cc -mx32 dummy.c
 readelf -l a.out | grep ': /tools'</userinput></screen>
 readelf -l a.out | grep ': /tools'</userinput></screen>
 
 
-    <para arch="multilib">In this case, the output shoud be:</para>
+    <para arch="ml_x32,ml_all">In this case, the output shoud be:</para>
 
 
-<screen arch="multilib"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux-x32.so.2]</computeroutput></screen>
+<screen arch="ml_x32,ml_all"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux-x32.so.2]</computeroutput></screen>
 
 
     <para arch="default">Note that the dynamic linker will be
     <para arch="default">Note that the dynamic linker will be
     /tools/lib/ld-linux.so.2 for 32-bit machines.</para>
     /tools/lib/ld-linux.so.2 for 32-bit machines.</para>

+ 9 - 7
chapter05/glibc.xml

@@ -82,7 +82,7 @@ cd       build</userinput></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry arch="multilib">
+      <varlistentry arch="ml_32,ml_x32,ml_all">
         <term><parameter>--enable-multi-arch</parameter></term>
         <term><parameter>--enable-multi-arch</parameter></term>
         <listitem>
         <listitem>
           <para>Enables glibc for multiarch environments.</para>
           <para>Enables glibc for multiarch environments.</para>
@@ -191,7 +191,7 @@ readelf -l a.out | grep ': /tools'</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Glibc 32-bit</title>
     <title>Installation of Glibc 32-bit</title>
 
 
     <para>Clean the build directory for redoing glibc for 32-bit:</para>
     <para>Clean the build directory for redoing glibc for 32-bit:</para>
@@ -213,9 +213,10 @@ RANLIB="${LFS_TGT}-ranlib"        \
              --libdir=/tools/lib32              \
              --libdir=/tools/lib32              \
              --libexecdir=/tools/lib32          \
              --libexecdir=/tools/lib32          \
              --with-headers=/tools/include      \
              --with-headers=/tools/include      \
-             --with-binutils=/tools/bin         \
+             --with-binutils=/tools/bin</userinput></screen>
+<!--                      \
              libc_cv_forced_unwind=yes          \
              libc_cv_forced_unwind=yes          \
-             libc_cv_c_cleanup=yes</userinput></screen>
+             libc_cv_c_cleanup=yes</userinput></screen> -->
 
 
     <para>Now compile the 32-bit version of glibc:</para>
     <para>Now compile the 32-bit version of glibc:</para>
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
@@ -231,7 +232,7 @@ cd ..</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Glibc x32-bit</title>
     <title>Installation of Glibc x32-bit</title>
 
 
     <para>Create a build directory for redoing glibc for x32-bit:</para>
     <para>Create a build directory for redoing glibc for x32-bit:</para>
@@ -253,9 +254,10 @@ RANLIB="${LFS_TGT}-ranlib"        \
              --libdir=/tools/libx32             \
              --libdir=/tools/libx32             \
              --libexecdir=/tools/libx32         \
              --libexecdir=/tools/libx32         \
              --with-headers=/tools/include      \
              --with-headers=/tools/include      \
-             --with-binutils=/tools/bin         \
+             --with-binutils=/tools/bin</userinput></screen>
+<!--                      \
              libc_cv_forced_unwind=yes          \
              libc_cv_forced_unwind=yes          \
-             libc_cv_c_cleanup=yes</userinput></screen>
+             libc_cv_c_cleanup=yes</userinput></screen> -->
 
 
     <para>Now compile the x32-bit version of glibc:</para>
     <para>Now compile the x32-bit version of glibc:</para>
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>

+ 2 - 2
chapter05/ncurses.xml

@@ -112,7 +112,7 @@ ln -s libncursesw.so /tools/lib/libncurses.so</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Ncurses - 32 bit</title>
     <title>Installation of Ncurses - 32 bit</title>
 
 
     <para>Prepare Ncurses for compilation:</para>
     <para>Prepare Ncurses for compilation:</para>
@@ -143,7 +143,7 @@ cp -Rv DESTDIR_32/tools/lib32/* /tools/lib32</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Ncurses - x32 bit</title>
     <title>Installation of Ncurses - x32 bit</title>
 
 
     <para>Repeat for the x32-ABI:</para>
     <para>Repeat for the x32-ABI:</para>

+ 8 - 2
chapter05/stripping.xml

@@ -18,7 +18,11 @@
 <screen arch="default"><userinput>strip --strip-debug /tools/lib/*
 <screen arch="default"><userinput>strip --strip-debug /tools/lib/*
 /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
 
-<screen arch="multilib"><userinput>strip --strip-debug /tools/lib{,{,x}32}/*
+<screen arch="ml_32"><userinput>strip --strip-debug /tools/lib{,32}/*
+/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
+<screen arch="ml_x32"><userinput>strip --strip-debug /tools/lib{,x32}/*
+/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
+<screen arch="ml_all"><userinput>strip --strip-debug /tools/lib{,{,x}32}/*
 /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
 
   <para>These commands will skip a number of files, reporting that it does not
   <para>These commands will skip a number of files, reporting that it does not
@@ -38,7 +42,9 @@
 
 
 <screen arch="default"><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
 <screen arch="default"><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
 
 
-<screen arch="multilib"><userinput>find /tools/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
+<screen arch="ml_32"><userinput>find /tools/{lib{,32},libexec} -name \*.la -delete</userinput></screen>
+<screen arch="ml_x32"><userinput>find /tools/{lib{,x32},libexec} -name \*.la -delete</userinput></screen>
+<screen arch="ml_all"><userinput>find /tools/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
 
 
   <para>At this point, you should have at least 3 GB of free space in
   <para>At this point, you should have at least 3 GB of free space in
   <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
   <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in

+ 2 - 2
chapter05/util-linux.xml

@@ -121,7 +121,7 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Util-Linux - 32 bit</title>
     <title>Installation of Util-Linux - 32 bit</title>
 
 
     <para>Prepare Util-Linux for compilation:</para>
     <para>Prepare Util-Linux for compilation:</para>
@@ -153,7 +153,7 @@ cp -Rv DESTDIR_32/tools/lib32/* /tools/lib32</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Util-Linux - x32 bit</title>
     <title>Installation of Util-Linux - x32 bit</title>
 
 
     <para>Repeat for the x32-ABI:</para>
     <para>Repeat for the x32-ABI:</para>

+ 2 - 2
chapter05/xz.xml

@@ -63,7 +63,7 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Xz - 32 bit</title>
     <title>Installation of Xz - 32 bit</title>
 
 
     <para>Prepare Xz for compilation:</para>
     <para>Prepare Xz for compilation:</para>
@@ -90,7 +90,7 @@ cp -Rv DESTDIR_32/tools/lib32/* /tools/lib32</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Xz - x32 bit</title>
     <title>Installation of Xz - x32 bit</title>
 
 
     <para>Repeat for the x32-ABI:</para>
     <para>Repeat for the x32-ABI:</para>

+ 3 - 3
chapter05/zlib.xml

@@ -5,7 +5,7 @@
   %general-entities;
   %general-entities;
 ]>
 ]>
 
 
-<sect1 arch="multilib" id="ch-tools-zlib" role="wrap">
+<sect1 arch="ml_32,ml_x32,ml_all" id="ch-tools-zlib" role="wrap">
   <?dbhtml filename="zlib.html"?>
   <?dbhtml filename="zlib.html"?>
 
 
   <sect1info condition="script">
   <sect1info condition="script">
@@ -59,7 +59,7 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Zlib - 32 bit</title>
     <title>Installation of Zlib - 32 bit</title>
 
 
     <para>Prepare Zlib for compilation:</para>
     <para>Prepare Zlib for compilation:</para>
@@ -82,7 +82,7 @@ cp -Rv DESTDIR_32/tools/lib32/* /tools/lib32</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Zlib - x32 bit</title>
     <title>Installation of Zlib - x32 bit</title>
 
 
     <para>Repeat for the x32-ABI:</para>
     <para>Repeat for the x32-ABI:</para>

+ 6 - 2
chapter06/acl.xml

@@ -79,7 +79,9 @@ ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput><
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Acl - 32-bit</title>
     <title>Installation of Acl - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -105,7 +107,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Acl - x32-bit</title>
     <title>Installation of Acl - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/attr.xml

@@ -78,7 +78,9 @@ ln -sfv ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so</userinput
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Attr - 32-bit</title>
     <title>Installation of Attr - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -105,7 +107,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Attr - x32-bit</title>
     <title>Installation of Attr - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/bzip2.xml

@@ -97,7 +97,9 @@ ln -sv bzip2 /bin/bzcat</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Bzip2 - 32-bit</title>
     <title>Installation of Bzip2 - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -121,7 +123,9 @@ install -Dm644 libbz2.a /usr/lib32/libbz2.a</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Bzip2 - x32-bit</title>
     <title>Installation of Bzip2 - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 1 - 1
chapter06/chapter06.xml

@@ -22,7 +22,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="adjusting.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="adjusting.xml"/>
 
 
-  <!-- arch="multilib" only -->
+  <!-- arch="ml_32,ml_x32,ml_all" only -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc-32.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc-32.xml"/>
 
 
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/>

+ 4 - 5
chapter06/createfiles.xml

@@ -47,15 +47,14 @@ ln -sv /tools/lib/libstdc++.{a,so{,.6}}             /usr/lib
 install -vdm755 /usr/lib/pkgconfig
 install -vdm755 /usr/lib/pkgconfig
 
 
 ln -sv bash /bin/sh</userinput></screen>
 ln -sv bash /bin/sh</userinput></screen>
-<screen arch="multilib"><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
+<screen arch="ml_32,ml_x32,ml_all"><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
 ln -sv /tools/bin/{env,install,perl,printf}         /usr/bin
 ln -sv /tools/bin/{env,install,perl,printf}         /usr/bin
-for lib in lib{,32,x32}; do
+for lib in lib{</userinput><userinput arch="ml_32,ml_all">,32</userinput><userinput arch="ml_x32,ml_all">,x32</userinput><userinput>}; do
   ln -sv /tools/$lib/libgcc_s.so{,.1}               /usr/$lib
   ln -sv /tools/$lib/libgcc_s.so{,.1}               /usr/$lib
   ln -sv /tools/$lib/libstdc++.{a,so{,.6}}          /usr/$lib
   ln -sv /tools/$lib/libstdc++.{a,so{,.6}}          /usr/$lib
 done
 done
-ln -sv /usr/libx32 /
-
-install -vdm755 /usr/lib{,32,x32}/pkgconfig
+</userinput><userinput arch="ml_x32,ml_all">ln -sv /usr/libx32 /</userinput><userinput>
+install -vdm755 /usr/lib{</userinput><userinput arch="ml_32,ml_all">,32</userinput><userinput arch="ml_x32,ml_all">,x32</userinput><userinput>}/pkgconfig
 
 
 ln -sv bash /bin/sh</userinput></screen>
 ln -sv bash /bin/sh</userinput></screen>
 
 

+ 4 - 3
chapter06/creatingdirs.xml

@@ -31,7 +31,7 @@ mkdir -v /var/{log,mail,spool}
 ln -sv /run /var/run
 ln -sv /run /var/run
 ln -sv /run/lock /var/lock
 ln -sv /run/lock /var/lock
 mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput></screen>
 mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput></screen>
-<screen arch="multilib"><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig,ld.so.conf.d},home,lib/firmware,mnt,opt}
+<screen arch="ml_32,ml_x32,ml_all"><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig,ld.so.conf.d},home,lib/firmware,mnt,opt}
 mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
 mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
 install -dv -m 0750 /root
 install -dv -m 0750 /root
 install -dv -m 1777 /tmp /var/tmp
 install -dv -m 1777 /tmp /var/tmp
@@ -44,8 +44,9 @@ mkdir -v /lib64
 mkdir -v /var/{log,mail,spool}
 mkdir -v /var/{log,mail,spool}
 ln -sv /run /var/run
 ln -sv /run /var/run
 ln -sv /run/lock /var/lock
 ln -sv /run/lock /var/lock
-mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}
-mkdir -pv /usr/lib{,x}32</userinput></screen>
+mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput>
+<userinput arch="ml_32,ml_all">mkdir -pv /usr/lib32</userinput>
+<userinput arch="ml_x32,ml_all">mkdir -pv /usr/libx32</userinput></screen>
 
 
   <para>Directories are, by default, created with permission mode 755, but
   <para>Directories are, by default, created with permission mode 755, but
   this is not desirable for all directories. In the commands above, two
   this is not desirable for all directories. In the commands above, two

+ 2 - 2
chapter06/eudev.xml

@@ -106,7 +106,7 @@ make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen>
 
 
   <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
   <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
   
   
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Eudev - 32-bit</title>
     <title>Installation of Eudev - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -143,7 +143,7 @@ rm -rf DESTDIR</userinput></screen>
   
   
   <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
   <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
   
   
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Eudev - x32-bit</title>
     <title>Installation of Eudev - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/expat.xml

@@ -69,7 +69,9 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Expat - 32-bit</title>
     <title>Installation of Expat - 32-bit</title>
 
 
     <para>Clean previous build but keep precompiled doc because it
     <para>Clean previous build but keep precompiled doc because it
@@ -97,7 +99,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Zlib - x32-bit</title>
     <title>Installation of Zlib - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/file.xml

@@ -59,7 +59,9 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of File - 32-bit</title>
     <title>Installation of File - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -85,7 +87,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of File - x32-bit</title>
     <title>Installation of File - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 21 - 5
chapter06/gcc.xml

@@ -51,10 +51,10 @@
   ;;
   ;;
 esac</userinput></screen>
 esac</userinput></screen>
 
 
-    <para arch="multilib">Change the default directory name for 64-bit
+    <para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit
     libraries to <quote>lib</quote>:</para>
     libraries to <quote>lib</quote>:</para>
 
 
-<screen arch="multilib"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
     -i.orig gcc/config/i386/t-linux64
     -i.orig gcc/config/i386/t-linux64
 cat &gt; gcc/config/i386/t-linux64 &lt;&lt;"EOF"
 cat &gt; gcc/config/i386/t-linux64 &lt;&lt;"EOF"
 comma=,
 comma=,
@@ -90,13 +90,29 @@ cd       build</userinput></screen>
              --disable-bootstrap      \
              --disable-bootstrap      \
              --disable-libmpx         \
              --disable-libmpx         \
              --with-system-zlib</userinput></screen>
              --with-system-zlib</userinput></screen>
-
-<screen arch="multilib"><userinput remap="configure">SED=sed                               \
+<screen arch="ml_32"><userinput remap="configure">SED=sed                               \
+../configure --prefix=/usr                     \
+             --enable-languages=c,c++          \
+             --enable-multilib                 \
+             --with-multilib-list=m32,m64      \
+             --disable-bootstrap               \
+             --disable-libmpx                  \
+             --with-system-zlib</userinput></screen>
+<screen arch="ml_x32"><userinput remap="configure">SED=sed                               \
+../configure --prefix=/usr                     \
+             --enable-languages=c,c++          \
+             --enable-multilib                 \
+             --with-multilib-list=mx32,m64     \
+             --disable-bootstrap               \
+             --disable-libmpx                  \
+             --with-system-zlib</userinput></screen>
+<screen arch="ml_all"><userinput remap="configure">SED=sed                               \
 ../configure --prefix=/usr                     \
 ../configure --prefix=/usr                     \
              --enable-languages=c,c++          \
              --enable-languages=c,c++          \
              --enable-multilib                 \
              --enable-multilib                 \
-             --with-multilib-list=m32,m64,mx32 \
+             --with-multilib-list=m32,mx32,m64 \
              --disable-bootstrap               \
              --disable-bootstrap               \
+             --disable-libmpx                  \
              --with-system-zlib</userinput></screen>
              --with-system-zlib</userinput></screen>
 
 
     <para>Note that for other languages, there are some prerequisites that
     <para>Note that for other languages, there are some prerequisites that

+ 8 - 3
chapter06/glibc-32.xml

@@ -5,7 +5,7 @@
   %general-entities;
   %general-entities;
 ]>
 ]>
 
 
-<sect1 arch="multilib" id="ch-system-glibc-32" role="wrap">
+<sect1 arch="ml_32,ml_x32,ml_all" id="ch-system-glibc-32" role="wrap">
   <?dbhtml filename="glibc-32.html"?>
   <?dbhtml filename="glibc-32.html"?>
 
 
   <sect1info condition="script">
   <sect1info condition="script">
@@ -40,7 +40,10 @@
 
 
   </sect2>
   </sect2>
 -->
 -->
-  <sect2 role="installation">
+
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Glibc - 32-bit</title>
     <title>Installation of Glibc - 32-bit</title>
 
 
 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
@@ -97,7 +100,9 @@ rm -rf build</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2>
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Glibc - x32-bit</title>
     <title>Glibc - x32-bit</title>
 
 
     <para>The Glibc documentation recommends building Glibc 
     <para>The Glibc documentation recommends building Glibc 

+ 3 - 3
chapter06/gmp.xml

@@ -121,7 +121,7 @@ make install-html</userinput></screen>
   </sect2>
   </sect2>
 
 
   <!-- ~~~~~ m32 ~~~~~ -->
   <!-- ~~~~~ m32 ~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of GMP - 32-bit</title>
     <title>Installation of GMP - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -172,8 +172,8 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
   
   
-  <!-- ~~~~~ m32 ~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~ mx32 ~~~~~ -->
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of GMP - x32-bit</title>
     <title>Installation of GMP - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/kmod.xml

@@ -97,7 +97,9 @@ ln -sfv kmod /bin/lsmod</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Kmod - 32-bit</title>
     <title>Installation of Kmod - 32-bit</title>
 
 
     <para>Clean previous build but keep man pages as they cannot be recreated
     <para>Clean previous build but keep man pages as they cannot be recreated
@@ -129,7 +131,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-<sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Kmod - x32-bit</title>
     <title>Installation of Kmod - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 2 - 2
chapter06/libcap.xml

@@ -92,7 +92,7 @@ ln -sfv ../../lib/$(readlink /usr/lib/libcap.so) /usr/lib/libcap.so</userinput><
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Libcap - 32-bit</title>
     <title>Installation of Libcap - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -111,7 +111,7 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Libcap - x32-bit</title>
     <title>Installation of Libcap - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 2 - 2
chapter06/libelf.xml

@@ -63,7 +63,7 @@ install -vm644 config/libelf.pc /usr/lib/pkgconfig</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Libelf - 32-bit</title>
     <title>Installation of Libelf - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -90,7 +90,7 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Libelf - x32-bit</title>
     <title>Installation of Libelf - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 4
chapter06/libffi.xml

@@ -98,8 +98,9 @@ sed -e '/^includedir/ s/=.*$/=@includedir@/' \
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~ m32 ~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Libffi - 32-bit</title>
     <title>Installation of Libffi - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -132,8 +133,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~ mx32 ~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Libffi - x32-bit</title>
     <title>Installation of Libffi - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 3
chapter06/libtool.xml

@@ -70,8 +70,9 @@
 
 
   </sect2>
   </sect2>
 
 
-
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Libtool - 32-bit</title>
     <title>Installation of Libtool - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -97,7 +98,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Libtool - x32-bit</title>
     <title>Installation of Libtool - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 8 - 4
chapter06/ncurses.xml

@@ -54,7 +54,7 @@
             --without-normal        \
             --without-normal        \
             --enable-pc-files       \
             --enable-pc-files       \
             --enable-widec</userinput></screen>
             --enable-widec</userinput></screen>
-<screen arch="multilib"><userinput remap="configure">./configure --prefix=/usr           \
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">./configure --prefix=/usr           \
             --mandir=/usr/share/man \
             --mandir=/usr/share/man \
             --with-shared           \
             --with-shared           \
             --without-debug         \
             --without-debug         \
@@ -96,7 +96,7 @@
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry arch="multilib">
+      <varlistentry arch="ml_32,ml_x32,ml_all">
         <term><parameter>--with-pkg-config-libdir=/usr/lib/pkgconfig</parameter></term>
         <term><parameter>--with-pkg-config-libdir=/usr/lib/pkgconfig</parameter></term>
         <listitem>
         <listitem>
           <para>This switch forces .pc to be installed in /usr/lib/pkgconfig. If
           <para>This switch forces .pc to be installed in /usr/lib/pkgconfig. If
@@ -178,7 +178,9 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Ncurses - 32-bit</title>
     <title>Installation of Ncurses - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -233,7 +235,9 @@ cp -av lib/lib*.so.5* /usr/lib32</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Ncurses - x32-bit</title>
     <title>Installation of Ncurses - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 4
chapter06/openssl.xml

@@ -74,8 +74,9 @@ cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~ 32-bit ~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of OpenSSL - 32-bit</title>
     <title>Installation of OpenSSL - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -106,8 +107,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~ x32-bit ~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of OpenSSL - x32-bit</title>
     <title>Installation of OpenSSL - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/readline.xml

@@ -92,7 +92,9 @@ ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so</us
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Readline - 32-bit</title>
     <title>Installation of Readline - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -119,7 +121,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Readline - x32-bit</title>
     <title>Installation of Readline - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 4 - 3
chapter06/revisedchroot.xml

@@ -62,9 +62,10 @@ rm -f /usr/lib/libz.a</userinput></screen>
   files and generally unneeded on a linux system. None of these are necessary
   files and generally unneeded on a linux system. None of these are necessary
   at this point. To remove them, run:</para>
   at this point. To remove them, run:</para>
 
 
-<screen arch="default"><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
-
-<screen arch="multilib"><userinput>find /usr/lib{,{,x}32} /usr/libexec -name \*.la -delete</userinput></screen>
+  <screen arch="default"><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
+ <screen arch="ml_32"><userinput>find /usr/lib{,32} /usr/libexec -name \*.la -delete</userinput></screen>
+<screen arch="ml_x32"><userinput>find /usr/lib{,x32} /usr/libexec -name \*.la -delete</userinput></screen>
+ <screen arch="ml_all"><userinput>find /usr/lib{,{,x}32} /usr/libexec -name \*.la -delete</userinput></screen>
 
 
    <para>For more information about libtool archive files, see the <ulink
    <para>For more information about libtool archive files, see the <ulink
    url="&blfs-book;/introduction/la-files.html">BLFS section "About Libtool
    url="&blfs-book;/introduction/la-files.html">BLFS section "About Libtool

+ 2 - 2
chapter06/strippingagain.xml

@@ -56,7 +56,7 @@ done
 
 
 unset LIB save_lib save_usrlib</userinput></screen>
 unset LIB save_lib save_usrlib</userinput></screen>
 
 
-<screen arch="multilib"><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
+<screen arch="ml_32,ml_x32,ml_all"><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
 
 
 cd /lib
 cd /lib
 
 
@@ -113,7 +113,7 @@ unset LIB save_lib save_usrlib</userinput></screen>
 /tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
 /tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
     -exec /tools/bin/strip --strip-all {} ';'</userinput></screen>
     -exec /tools/bin/strip --strip-all {} ';'</userinput></screen>
 
 
-<screen arch="multilib"><userinput>/tools/bin/find /usr/lib{,{,x}32} -type f -name \*.a \
+<screen arch="ml_32,ml_x32,ml_all"><userinput>/tools/bin/find /usr/lib{,{,x}32} -type f -name \*.a \
    -exec /tools/bin/strip --strip-debug {} ';'
    -exec /tools/bin/strip --strip-debug {} ';'
 
 
 /tools/bin/find /lib /usr/lib{,{,x}32} -type f \( -name \*.so* -a ! -name \*dbg \) \
 /tools/bin/find /lib /usr/lib{,{,x}32} -type f \( -name \*.so* -a ! -name \*dbg \) \

+ 2 - 2
chapter06/systemd.xml

@@ -212,7 +212,7 @@ chmod 755 /lib/systemd/systemd-user-sessions</userinput></screen>
 
 
 <!-- ====== 32-bit ===== -->
 <!-- ====== 32-bit ===== -->
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of systemd - 32-bit</title>
     <title>Installation of systemd - 32-bit</title>
 
 
     <para>If still in the build directory, step out:</para>
     <para>If still in the build directory, step out:</para>
@@ -280,7 +280,7 @@ rm -f /usr/bin/xsltproc</userinput></screen>
 
 
 <!-- ====== x32-bit ===== -->
 <!-- ====== x32-bit ===== -->
 
 
-  <sect2 arch="multilib" role="installation">
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of systemd - x32-bit</title>
     <title>Installation of systemd - x32-bit</title>
 
 
     <para>If still in the build directory, step out:</para>
     <para>If still in the build directory, step out:</para>

+ 6 - 5
chapter06/util-linux.xml

@@ -52,7 +52,6 @@
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~~~~~~~~~~~~~~~~~ default ABI ~~~~~~~~~~~~~~~~~~~~~ -->
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Util-linux</title>
     <title>Installation of Util-linux</title>
 <!--
 <!--
@@ -122,8 +121,9 @@ su nobody -s /bin/bash -c "PATH=$PATH make -k check"</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~~~~~~~~~~~~~~~~~ ABI 32-bit ~~~~~~~~~~~~~~~~~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Util-linux - 32-bit</title>
     <title>Installation of Util-linux - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -178,8 +178,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <!-- ~~~~~~~~~~~~~~~~~~~~~ ABI x32-bit ~~~~~~~~~~~~~~~~~~~~~ -->
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Util-linux - x32-bit</title>
     <title>Installation of Util-linux - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/xz.xml

@@ -68,7 +68,9 @@ ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so</userinput
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Xz - 32-bit</title>
     <title>Installation of Xz - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -95,7 +97,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Xz - x32-bit</title>
     <title>Installation of Xz - x32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>

+ 6 - 2
chapter06/zlib.xml

@@ -67,7 +67,9 @@ ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so</userinput></scr
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_32,ml_all" role="installation">
     <title>Installation of Zlib - 32-bit</title>
     <title>Installation of Zlib - 32-bit</title>
 
 
     <para>Clean previous build:</para>
     <para>Clean previous build:</para>
@@ -93,7 +95,9 @@ rm -rf DESTDIR</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
-  <sect2 arch="multilib" role="installation">
+  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
+  
+  <sect2 arch="ml_x32,ml_all" role="installation">
     <title>Installation of Zlib - x32-bit</title>
     <title>Installation of Zlib - x32-bit</title>
 
 
 <screen><userinput remap="pre">make distclean</userinput></screen>
 <screen><userinput remap="pre">make distclean</userinput></screen>

+ 2 - 2
chapter08/grub.xml

@@ -165,7 +165,7 @@ menuentry "GNU/Linux, Linux &linux-version;-lfs-&versiond;" {
 }</literal>
 }</literal>
 EOF</userinput></screen>
 EOF</userinput></screen>
 
 
-    <screen arch="multilib" revision="sysv"><userinput>cat &gt; /boot/grub/grub.cfg &lt;&lt; "EOF"
+    <screen arch="ml_32,ml_x32,ml_all" revision="sysv"><userinput>cat &gt; /boot/grub/grub.cfg &lt;&lt; "EOF"
 <literal># Begin /boot/grub/grub.cfg
 <literal># Begin /boot/grub/grub.cfg
 set default=0
 set default=0
 set timeout=5
 set timeout=5
@@ -178,7 +178,7 @@ menuentry "GNU/Linux, Linux &linux-version;-lfs-&version;-multilib" {
 }</literal>
 }</literal>
 EOF</userinput></screen>
 EOF</userinput></screen>
 
 
-    <screen arch="multilib" revision="systemd"><userinput>cat &gt; /boot/grub/grub.cfg &lt;&lt; "EOF"
+    <screen arch="ml_32,ml_x32,ml_all" revision="systemd"><userinput>cat &gt; /boot/grub/grub.cfg &lt;&lt; "EOF"
 <literal># Begin /boot/grub/grub.cfg
 <literal># Begin /boot/grub/grub.cfg
 set default=0
 set default=0
 set timeout=5
 set timeout=5

+ 4 - 4
chapter08/kernel.xml

@@ -237,11 +237,11 @@ Kernel hacking  ---&gt;
 
 
 <screen arch="default" revision="sysv"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&version;</userinput></screen>
 <screen arch="default" revision="sysv"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&version;</userinput></screen>
 
 
-<screen arch="multilib" revision="sysv"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&version;-multilib</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all" revision="sysv"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&version;-multilib</userinput></screen>
 
 
 <screen arch="default" revision="systemd"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&versiond;</userinput></screen>
 <screen arch="default" revision="systemd"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&versiond;</userinput></screen>
 
 
-<screen arch="multilib" revision="systemd"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&versiond;-multilib</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all" revision="systemd"><userinput remap="install">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&versiond;-multilib</userinput></screen>
 
 
 
 
     <para><filename>System.map</filename> is a symbol file for the kernel.
     <para><filename>System.map</filename> is a symbol file for the kernel.
@@ -353,8 +353,8 @@ EOF</userinput></screen>
         <seg>config-&linux-version;,
         <seg>config-&linux-version;,
         <phrase arch="default" revision="sysv">vmlinuz-&linux-version;-lfs-&version;,</phrase>
         <phrase arch="default" revision="sysv">vmlinuz-&linux-version;-lfs-&version;,</phrase>
         <phrase arch="default" revision="systemd">vmlinuz-&linux-version;-lfs-&versiond;,</phrase>
         <phrase arch="default" revision="systemd">vmlinuz-&linux-version;-lfs-&versiond;,</phrase>
-        <phrase arch="multilib" revision="sysv">vmlinuz-&linux-version;-lfs-&version;-multilib,</phrase>
-        <phrase arch="multilib" revision="systemd">vmlinuz-&linux-version;-lfs-&versiond;-multilib,</phrase>
+        <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">vmlinuz-&linux-version;-lfs-&version;-multilib,</phrase>
+        <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">vmlinuz-&linux-version;-lfs-&versiond;-multilib,</phrase>
         and System.map-&linux-version;</seg>
         and System.map-&linux-version;</seg>
         <seg>/lib/modules, /usr/share/doc/linux-&linux-version;</seg>
         <seg>/lib/modules, /usr/share/doc/linux-&linux-version;</seg>
       </seglistitem>
       </seglistitem>

+ 4 - 4
chapter09/theend.xml

@@ -36,7 +36,7 @@ PRETTY_NAME="Linux From Scratch &versiond;"
 VERSION_CODENAME="&lt;your name here&gt;"
 VERSION_CODENAME="&lt;your name here&gt;"
 EOF</userinput></screen>
 EOF</userinput></screen>
 
 
-<screen arch="multilib" revision="systemd"><userinput>cat &gt; /etc/os-release &lt;&lt; "EOF"
+<screen arch="ml_32,ml_x32,ml_all" revision="systemd"><userinput>cat &gt; /etc/os-release &lt;&lt; "EOF"
 NAME="Linux From Scratch"
 NAME="Linux From Scratch"
 VERSION="&versiond;"
 VERSION="&versiond;"
 ID=lfs
 ID=lfs
@@ -51,7 +51,7 @@ EOF</userinput></screen>
   running:</para>
   running:</para>
 
 
 <screen arch="default" revision="sysv"><userinput>echo &version; &gt; /etc/lfs-release</userinput></screen>
 <screen arch="default" revision="sysv"><userinput>echo &version; &gt; /etc/lfs-release</userinput></screen>
-<screen arch="multilib" revision="sysv"><userinput>echo &version;-multilib &gt; /etc/lfs-release</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all" revision="sysv"><userinput>echo &version;-multilib &gt; /etc/lfs-release</userinput></screen>
 
 
   <para revision="systemd">Creating the file
   <para revision="systemd">Creating the file
   <filename>/etc/lfs-release</filename> is recommended for compatibility with
   <filename>/etc/lfs-release</filename> is recommended for compatibility with
@@ -79,14 +79,14 @@ DISTRIB_CODENAME="&lt;your name here&gt;"
 DISTRIB_DESCRIPTION="Linux From Scratch"
 DISTRIB_DESCRIPTION="Linux From Scratch"
 EOF</userinput></screen>
 EOF</userinput></screen>
 
 
-<screen arch="multilib" revision="sysv"><userinput>cat &gt; /etc/lsb-release &lt;&lt; "EOF"
+<screen arch="ml_32,ml_x32,ml_all" revision="sysv"><userinput>cat &gt; /etc/lsb-release &lt;&lt; "EOF"
 DISTRIB_ID="Linux From Scratch"
 DISTRIB_ID="Linux From Scratch"
 DISTRIB_RELEASE="&version;-multilib"
 DISTRIB_RELEASE="&version;-multilib"
 DISTRIB_CODENAME="&lt;your name here&gt;"
 DISTRIB_CODENAME="&lt;your name here&gt;"
 DISTRIB_DESCRIPTION="Linux From Scratch"
 DISTRIB_DESCRIPTION="Linux From Scratch"
 EOF</userinput></screen>
 EOF</userinput></screen>
 
 
-<screen arch="multilib" revision="systemd"><userinput>cat &gt; /etc/lsb-release &lt;&lt; "EOF"
+<screen arch="ml_32,ml_x32,ml_all" revision="systemd"><userinput>cat &gt; /etc/lsb-release &lt;&lt; "EOF"
 DISTRIB_ID="Linux From Scratch"
 DISTRIB_ID="Linux From Scratch"
 DISTRIB_RELEASE="&versiond;-multilib"
 DISTRIB_RELEASE="&versiond;-multilib"
 DISTRIB_CODENAME="&lt;your name here&gt;"
 DISTRIB_CODENAME="&lt;your name here&gt;"

+ 3 - 3
prologue/bookinfo.xml

@@ -9,8 +9,8 @@
   <title>Linux From Scratch</title>
   <title>Linux From Scratch</title>
   <subtitle arch="default" revision='sysv'>Version &version;</subtitle>
   <subtitle arch="default" revision='sysv'>Version &version;</subtitle>
   <subtitle arch="default" revision='systemd'>Version &versiond;</subtitle>
   <subtitle arch="default" revision='systemd'>Version &versiond;</subtitle>
-  <subtitle arch="multilib" revision='sysv'>Version &version;-multilib</subtitle>
-  <subtitle arch="multilib" revision='systemd'>Version &versiond;-multilib</subtitle>
+  <subtitle arch="ml_32,ml_x32,ml_all" revision='sysv'>Version &version;-multilib</subtitle>
+  <subtitle arch="ml_32,ml_x32,ml_all" revision='systemd'>Version &versiond;-multilib</subtitle>
 
 
   <authorgroup>
   <authorgroup>
     <author>
     <author>
@@ -32,7 +32,7 @@
       <surname>Lucas</surname>
       <surname>Lucas</surname>
     </author>
     </author>
 
 
-    <author arch="multilib">
+    <author arch="ml_32,ml_x32,ml_all">
       <firstname>Editor: Thomas</firstname>
       <firstname>Editor: Thomas</firstname>
       <surname>Trepl</surname>
       <surname>Trepl</surname>
     </author>
     </author>

+ 9 - 9
prologue/multilib.xml

@@ -5,12 +5,12 @@
   %general-entities;
   %general-entities;
 ]>
 ]>
 
 
-<sect1 arch="multilib" id="pre-multilib">
+<sect1 arch="ml_32,ml_x32,ml_all" id="pre-multilib">
   <?dbhtml filename="multilib.html"?>
   <?dbhtml filename="multilib.html"?>
 
 
   <title>About the Multilib Edition</title>
   <title>About the Multilib Edition</title>
 
 
-  <sect2><title>What is 'multilib'</title>
+  <sect2><title>What is Multilib</title>
 
 
     <para>Today, most systems in the x86 world have a word size of 64 
     <para>Today, most systems in the x86 world have a word size of 64 
       bit. The word size is a number of bits which can be used at once
       bit. The word size is a number of bits which can be used at once
@@ -28,7 +28,7 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2><title>Why doing multilib?</title>
+  <sect2><title>Why doing Multilib?</title>
 
 
     <para>From a educational point of view, LFS in its 'native' form is
     <para>From a educational point of view, LFS in its 'native' form is
       probably the best way to see how a Linux system is built from source.
       probably the best way to see how a Linux system is built from source.
@@ -54,7 +54,7 @@
       
       
     </para>
     </para>
 
 
-    <para>This multilib edition of LFS goes a small step beyond and a 
+    <para>The multilib edition of LFS goes a small step beyond and a 
       small step back to what has been said in the previous section 
       small step back to what has been said in the previous section 
       when talking about target architectures. On one hand, the multilib 
       when talking about target architectures. On one hand, the multilib 
       edition is focused and <emphasis>limited</emphasis> to x86_64 
       edition is focused and <emphasis>limited</emphasis> to x86_64 
@@ -71,16 +71,16 @@
 
 
   </sect2>
   </sect2>
 
 
-  <sect2><title>Building a multilib system</title>
+  <sect2><title>Building a Multilib System</title>
 
 
     <para>Building a multilib system is not that much different from 
     <para>Building a multilib system is not that much different from 
       building a system by using the 'native' LFS book. Beside some 
       building a system by using the 'native' LFS book. Beside some 
       tweaks here and there the most prominent difference is that 
       tweaks here and there the most prominent difference is that 
-      multilib requires compiling many applications three times:
+      multilib requires compiling some applications up to three times:
       one for the primary 64-bit architecture,
       one for the primary 64-bit architecture,
-      one for the minor 32-bit architecture (m32),
-      and once again for the 32-bit architecture with 64-bit memory 
-      extensions (mx32).</para>
+      one for the 32-bit architecture (m32),
+      and once again for the 32-bit architecture with is 32-bit memory 
+      access and 64 bit instruction set (mx32).</para>
 
 
     <para>Continue only if you and your system meets the following 
     <para>Continue only if you and your system meets the following 
       requirements:
       requirements: