6.17. Binutils-2.40 - Проход 2

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

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

6.17.1. Установка пакета Binutils

Binutils поставляет устаревшую версию libtool в архиве. В нем отсутствует поддержка sysroot, поэтому созданные двоичные файлы будут ошибочно связаны с библиотеками из основного дистрибутива. Решение этой проблемы:

sed '6009s/$add_dir//' -i ltmain.sh

Создайте отдельный каталог для сборки:

mkdir -v build
cd       build

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

../configure                   \
    --prefix=/usr              \
    --build=$(../config.guess) \
    --host=$LFS_TGT            \
    --disable-nls              \
    --enable-shared            \
    --enable-gprofng=no        \
    --disable-werror           \
    --enable-64-bit-bfd

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

--enable-shared

Собирает libbfd как разделяемую библиотеку

--enable-64-bit-bfd

Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, но вреда от этого не будет

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

make

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

make DESTDIR=$LFS install

Удалите архивные файлы libtool, поскольку они потенциально опасны при кросс-компиляции, также удалите ненужные статические библиотеки

rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la}

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