mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-18 11:50:21 +03:00
Translated binutils-pass1 and gcc-pass1
This commit is contained in:
parent
8a1ee691af
commit
c8519e473c
@ -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>
|
||||
|
||||
|
@ -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 > \
|
||||
|
Loading…
Reference in New Issue
Block a user