Translated binutils-pass1 and gcc-pass1

This commit is contained in:
Poltern 2023-06-28 23:50:50 +05:00
parent 8a1ee691af
commit c8519e473c
2 changed files with 46 additions and 22 deletions

View File

@ -90,7 +90,7 @@ cd build</userinput></screen>
<term><parameter>--with-sysroot=$LFS</parameter></term>
<listitem>
<para>Для кросс-компляции указывает системе сборки искать в $LFS
библиотеки целевой системы по мере необходимости..</para>
библиотеки целевой системы, если необходимо.</para>
</listitem>
</varlistentry>
@ -131,7 +131,7 @@ cd build</userinput></screen>
</variablelist>
<para>Продолжайте компиляцию пакета:</para>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>

View File

@ -48,9 +48,9 @@
Распакуйте каждый пакет в исходный каталог GCC и переименуйте получившиеся
каталоги, чтобы процедуры сборки GCC использовали их автоматически:</para>
<note><para>В этой главе часто возникают недоразумения. Процедуры такие же,
как и в любой другой главе, как было описано ранее (<xref
linkend='buildinstr'/>). Сначала распакуйте пакет gcc из архива,
<note><para>В этой главе часто возникают недоразумения, хотя применяются те же
процедуры, что и в любой другой главе, следуйте инструкции которую получили ранее
(<xref linkend='buildinstr'/>). Сначала распакуйте пакет gcc из архива,
а затем перейдите в созданный каталог. Только после этого следует
приступить к приведенным ниже инструкциям.</para></note>
@ -85,10 +85,11 @@ cd build</userinput></screen>
--with-sysroot=$LFS \
--with-newlib \
--without-headers \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-shared \
--disable-multilib \
--disable-decimal-float \
--disable-threads \
--disable-libatomic \
--disable-libgomp \
@ -103,7 +104,7 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--with-glibc-version=&glibc-version;</parameter></term>
<listitem>
<para>Этот параметр указывает версию glibc, которая будет использоваться
<para>Этот параметр указывает версию Glibc, которая будет использоваться
на целевой системе. Он не имеет отношения к libc хост-дистрибутива, потому
что все, скомпилированное в этом разделе, будет выполняться в среде chroot,
которая изолирована от libc хост-дистрибутива.</para>
@ -128,11 +129,27 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-default-pie и
--enable-default-ssp</parameter></term>
<listitem>
<para>Эти параметры позволяют GCC по умолчанию компилировать программы
с некоторые функциями усиливающими безопасность (более подробная
информация о них приведена в <xref linkend="pie-ssp-info"/> в Главе 8).
На данном этапе это не является строго обязательным, поскольку компилятор
будет создавать только временные исполняемые файлы. Но лучше, чтобы
временные пакеты были максимально приближены к тем, что будут в готовой
системе LFS.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-shared</parameter></term>
<listitem>
<para>Этот параметр заставляет использовать некоторые внутренние структуры
данных, которые необходимы, но не могут быть обнаружены при сборке кросс-компилятора.</para>
<para>Этот параметр заставляет GCC статически связывать свои внутренние
библиотеки. Он необходим потому что общие библиотеки требуют Glibc,
который еще не установлен в целевой системе.</para>
</listitem>
</varlistentry>
@ -145,16 +162,15 @@ cd build</userinput></screen>
</varlistentry>
<varlistentry>
<term><parameter>--disable-decimal-float, --disable-threads,
--disable-libatomic, --disable-libgomp,
<term><parameter>--disable-threads,
--disable-libatomic, --disable-libgomp,
--disable-libquadmath, --disable-libssp, --disable-libvtv,
--disable-libstdcxx</parameter></term>
<listitem>
<para>Эти аргументы отключают поддержку расширений для работы с десятичным
числами с плавающей запятой, многопоточностью, libatomic, libgomp, libquadmath,
libssp, libvtv и стандартной библиотеки C++ соответственно. Эти функции не
будут компилироваться при сборке кросс-компилятора и не нужны для задач
кросс-компиляции временной libc</para>
<para>Эти аргументы отключают поддержку расширений для работы с многопоточностью,
libatomic, libgomp, libquadmath, libssp, libvtv и стандартной библиотеки C++
соответственно. Эти функции могут не скомпилироваться при сборке кросс-компилятора
и не нужны для задач кросс-компиляции временной libc</para>
</listitem>
</varlistentry>
@ -176,16 +192,24 @@ cd build</userinput></screen>
<screen><userinput remap="install">make install</userinput></screen>
<para>Во время сборки GCC установил пару внутренних системных заголовков.
<para>Во время сборки GCC установил пару внутренних системных заголовочных файлов.
Обычно один из файлов <filename>limits.h</filename>, включает соответствующие
системные ограничения <filename>limits.h</filename>, в данном случае
<filename>$LFS/usr/include/limits.h</filename>. Однако во время сборки GCC
<filename>$LFS/usr/include/limits.h</filename> не существует, поэтому только
что установленный внутренний заголовок является частичным, автономным файлом
и не включает расширенные функции системного заголовка. Этого достаточно для
сборки glibc, но полный внутренний заголовок понадобится позже. Создайте
полную версию внутреннего заголовка с помощью команды, идентичной тому, что
система сборки GCC делает в обычных обстоятельствах:</para>
что установленный внутренний заголовочный файл является частичным, автономным файлом
и не включает расширенные функции системного файла. Этого достаточно для
сборки Glibc, но полный внутренний заголовочный файл понадобится позже. Создайте
полную версию внутреннего заголовочного файла с помощью команды, идентичной той, что
система сборки GCC использует в обычных обстоятельствах:</para>
<note>
<para>В приведенной ниже команде показан пример подстановки вложенных команд,
используя два метода: обратные кавычки и конструкцию <literal>$()</literal>.
Его можно было бы переписать, используя один и тот же метод для обеих замен,
но сделано так, чтобы продемонстрировать, как их можно использовать одновременно.
В целом метод <literal>$()</literal> предпочтительнее.</para>
</note>
<screen><userinput remap="install">cd ..
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \