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
This commit is contained in:
Thomas Trepl 2019-04-07 09:47:30 +00:00 committed by Xℹ Ruoyao
parent 6702623889
commit fd48baafd5
No known key found for this signature in database
GPG Key ID: D95E4716CCBB34DC
45 changed files with 253 additions and 153 deletions

View File

@ -38,8 +38,12 @@ ifndef ARCH
ARCH = default ARCH = default
endif endif
ifneq ($(ARCH), default) ifneq ($(ARCH), default)
ifneq ($(ARCH), multilib) ifneq ($(ARCH), ml_32)
$(error ARCH must be either 'default' (default if unset) or 'multilib'.) 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

View File

@ -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="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>)</para> <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>)</para>
</listitem> </listitem>
<listitem> <listitem>

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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"/>

View File

@ -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 / </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
install -vdm755 /usr/lib{,32,x32}/pkgconfig
ln -sv bash /bin/sh</userinput></screen> ln -sv bash /bin/sh</userinput></screen>

View File

@ -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 /var/{opt,cache,lib/{color,misc,locate},local}</userinput>
mkdir -pv /usr/lib{,x}32</userinput></screen> <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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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="ml_32"><userinput remap="configure">SED=sed \
<screen arch="multilib"><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,m64 \
--disable-bootstrap \ --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 \
--enable-languages=c,c++ \
--enable-multilib \
--with-multilib-list=m32,mx32,m64 \
--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

View File

@ -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

View File

@ -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 ~~~~~ --> <!-- ~~~~~ mx32 ~~~~~ -->
<sect2 arch="multilib" role="installation"> <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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -98,8 +98,9 @@ sed -e '/^includedir/ s/=.*$/=@includedir@/' \
</sect2> </sect2>
<!-- ~~~~~ m32 ~~~~~ --> <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
<sect2 arch="multilib" role="installation">
<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 ~~~~~ --> <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
<sect2 arch="multilib" role="installation">
<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>

View File

@ -70,8 +70,9 @@
</sect2> </sect2>
<!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
<sect2 arch="multilib" role="installation"> <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>

View File

@ -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>

View File

@ -74,8 +74,9 @@ cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
</sect2> </sect2>
<!-- ~~~~~ 32-bit ~~~~~ --> <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
<sect2 arch="multilib" role="installation">
<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 ~~~~~ --> <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
<sect2 arch="multilib" role="installation">
<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>

View File

@ -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>

View File

@ -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="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="multilib"><userinput>find /usr/lib{,{,x}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

View File

@ -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 \) \

View File

@ -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>

View File

@ -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 ~~~~~~~~~~~~~~~~~~~~~ --> <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
<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>Clean previous build:</para> <para>Clean previous build:</para>
@ -178,8 +178,9 @@ rm -rf DESTDIR</userinput></screen>
</sect2> </sect2>
<!-- ~~~~~~~~~~~~~~~~~~~~~ ABI x32-bit ~~~~~~~~~~~~~~~~~~~~~ --> <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
<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>Clean previous build:</para> <para>Clean previous build:</para>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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="ml_32,ml_x32,ml_all" 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="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>

View File

@ -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;"

View File

@ -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="ml_32,ml_x32,ml_all" revision='sysv'>Version &version;-multilib</subtitle>
<subtitle arch="multilib" revision='systemd'>Version &versiond;-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>

View File

@ -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), one for the 32-bit architecture (m32),
and once again for the 32-bit architecture with 64-bit memory and once again for the 32-bit architecture with is 32-bit memory
extensions (mx32).</para> 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: