aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/gcc-pass2.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/gcc-pass2.xml')
-rw-r--r--chapter06/gcc-pass2.xml36
1 files changed, 33 insertions, 3 deletions
diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml
index b342ae484..7b687d1bd 100644
--- a/chapter06/gcc-pass2.xml
+++ b/chapter06/gcc-pass2.xml
@@ -57,15 +57,23 @@ mv -v gmp-&gmp-version; gmp
tar -xf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
- <para>If building on x86_64, change the default directory name for 64-bit
+
+ <para arch="default">If building on x86_64, change the default directory name for 64-bit
libraries to <quote>lib</quote>:</para>
-<screen><userinput remap="pre">case $(uname -m) in
+<screen arch="default"><userinput remap="pre">case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
;;
esac</userinput></screen>
+ <para arch="ml_32,ml_x32,ml_all">Change the default directory name for the
+ libraries:</para>
+
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+ -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
+ -i.orig gcc/config/i386/t-linux64</userinput></screen>
+
<para>Override the building rule of libgcc and libstdc++ headers, to
allow building these libraries with POSIX threads support:</para>
@@ -82,7 +90,7 @@ cd build</userinput></screen>
<para>Now prepare GCC for compilation:</para>
-<screen><userinput remap="configure">../configure \
+<screen arch="default"><userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
@@ -100,6 +108,28 @@ cd build</userinput></screen>
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
+ arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
+ arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
+ arch="ml_all">mlist=m64,m32,mx32</userinput>
+<userinput remap="configure">../configure \
+ --build=$(../config.guess) \
+ --host=$LFS_TGT \
+ --target=$LFS_TGT \
+ LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
+ --prefix=/usr \
+ --with-build-sysroot=$LFS \
+ --enable-default-pie \
+ --enable-default-ssp \
+ --disable-nls \
+ --enable-multilib --with-multilib-list=$mlist \
+ --disable-libatomic \
+ --disable-libgomp \
+ --disable-libquadmath \
+ --disable-libsanitizer \
+ --disable-libssp \
+ --disable-libvtv \
+ --enable-languages=c,c++</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title><!-- WIP -->