From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.1-sysv/chapter05/binutils-pass1.html | 265 ---------------------------- 1 file changed, 265 deletions(-) delete mode 100644 lfs-12.1-sysv/chapter05/binutils-pass1.html (limited to 'lfs-12.1-sysv/chapter05/binutils-pass1.html') diff --git a/lfs-12.1-sysv/chapter05/binutils-pass1.html b/lfs-12.1-sysv/chapter05/binutils-pass1.html deleted file mode 100644 index 95194a3..0000000 --- a/lfs-12.1-sysv/chapter05/binutils-pass1.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - 5.2. Binutils-2.42 - Проход 1 - - - - - - - - -

- 5.2. - Binutils-2.42 - Проход 1 -

-
-
-

- Пакет Binutils содержит компоновщик, ассемблер и другие инструменты - для работы с объектными файлами. -

-
-
-
- Приблизительное время сборки: - 1 SBU -
-
- Требуемое дисковое - пространство: 663 MB -
-
-
-
-
-

- 5.2.1. Установка кросс-пакета Binutils -

-
- [Примечание] -

- Примечание -

-

- Вернитесь назад и перечитайте примечания в разделе Общие инструкции по - компиляции. Понимание информации, помеченной как важная, - может впоследствии избавить вас от многих проблем. -

-
-

- Очень важно, чтобы Binutils был скомпилированным первым, потому что - и Glibc, и GCC выполняют различные тесты на доступных компоновщике - и ассемблере, чтобы определить, какие из их функций следует - включить. -

-

- В документации пакета Binutils рекомендуется выполнять сборку в - отдельном каталоге, создадим его: -

-
mkdir -v build
-cd       build
-
- [Примечание] -

- Примечание -

-

- Для того, чтобы значения SBU, перечисленные в остальной части - книги, были вам полезны, измерьте время, необходимое для сборки - этого пакета, начиная с настройки и заканчивая установкой. Чтобы - добиться этого, оберните команды сборки командой time: time { ../configure ... && make - && make install; }. -

-
-

- Теперь подготовьте Binutils к компиляции: -

-
../configure --prefix=$LFS/tools \
-             --with-sysroot=$LFS \
-             --target=$LFS_TGT   \
-             --disable-nls       \
-             --enable-gprofng=no \
-             --disable-werror    \
-             --enable-default-hash-style=gnu
-
-

- Значение параметров настройки: -

-
-
- --prefix=$LFS/tools -
-
-

- Указывает сценарию configure подготовить к установке пакет - Binutils в каталог $LFS/tools. -

-
-
- --with-sysroot=$LFS -
-
-

- Для кросс-компляции указывает системе сборки искать в $LFS - библиотеки целевой системы, если необходимо. -

-
-
- --target=$LFS_TGT -
-
-

- Поскольку название машины в значении переменной LFS_TGT может отличаться от значения, которое - возвращает сценарий config.guess, этот аргумент - укажет сценарию configure как настроить - систему сборки пакета Binutils для создания - кросс-компоновщика. -

-
-
- --disable-nls -
-
-

- Этот параметр отключает интернационализацию, так как i18n не - требуется для временных инструментов. -

-
-
- --enable-gprofng=no -
-
-

- Этот параметр отключает сборку gprofng, который не нужен для - временного инструментария. -

-
-
- --disable-werror -
-
-

- Этот параметр предотвращает остановку сборки в случае - появления предупреждений от компилятора хоста. -

-
-
- --enable-default-hash-style=gnu -
-
-

- По умолчанию компоновщик генерирует как хеш-таблицу в стиле - GNU, так и классическую хеш-таблицу ELF для общих библиотек и - динамически связанных исполняемых файлов. Хеш-таблицы - необходимы только для динамического компоновщика, - выполняющего поиск символов. В LFS динамический компоновщик - (предоставляемый пакетом Glibc) всегда будет использовать - хеш-таблицу в стиле GNU, к которой запросы выполняются - быстрее. Так что классическая хеш-таблица ELF совершенно - бесполезна. Этот параметр указывает компоновщику по умолчанию - генерировать только хеш-таблицу в стиле GNU, поэтому мы можем - избежать траты времени на создание классической хеш-таблицы - ELF при сборке пакетов или не тратить дисковое пространство - для ее хранения. -

-
-
-
-

- Скомпилируйте пакет: -

-
make
-

- Установите пакет: -

-
make install
-
-
-

- Подробная информация об этом пакете находится в Раздел 8.19.2, - «Содержимое пакета Binutils.» -

-
-
- - - -- cgit v1.2.3