diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index b4c2b9d..31619ac 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -57,15 +57,21 @@ mv -v gmp-&gmp-version; gmp tar -xf ../mpc-&mpc-version;.tar.gz mv -v mpc-&mpc-version; mpc - При сборке на x86_64 измените имя каталога по умолчанию для 64-разрядных + При сборке на x86_64 измените имя каталога по умолчанию для 64-разрядных библиотек на lib: -case $(uname -m) in +case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 ;; esac + Измените имя каталога по умолчанию для библиотек: + +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 + Переопределите правила сборки заголовочных файлов libgcc и libstdc++, чтобы разрешить создание этих библиотек с поддержкой потоков POSIX: @@ -82,7 +88,7 @@ cd build Теперь подготовьте GCC к компиляции: -../configure \ +../configure \ --build=$(../config.guess) \ --host=$LFS_TGT \ --target=$LFS_TGT \ @@ -100,6 +106,28 @@ cd build --disable-libssp \ --disable-libvtv \ --enable-languages=c,c++ +mlist=m64,m32mlist=m64,mx32mlist=m64,m32,mx32 +../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++ Значение новых параметров настройки: