Lx4U-book/docs/build-system/binutils.md
2021-05-20 13:36:09 +03:00

2.2 KiB
Raw Blame History

Подготовка

Удалите проблемный тест:

sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in

В документации пакета {{package.name}} требуется использовать отдельную директорию для сборки:

mkdir -v build
cd       build

Настройка

../configure --prefix=/usr       \
             --enable-gold       \
             --enable-ld=default \
             --enable-plugins    \
             --enable-shared     \
             --disable-werror    \
             --enable-64-bit-bfd \
             --with-system-zlib  

Для multilib

Добавьте параметр --enable-multilib

Значения параметров configure

--enable-gold - Установить компоновщик gold.

--enable-ld=default - Установить ld и ld.bfd.

--enable-plugins - Включает поддержку плагинов для компоновщика.

--enable-64-bit-bfd - Включает поддержку 64-битных систем.

--with-system-zlib - Использовать системную версию zlib, а не включенную в пакет.

Сборка

make tooldir=/usr

Тестирование

make -k check

Установка

make tooldir=/usr install -j1

Удалите бесполезные статические библиотеки:

rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a

Установленные файлы

Программы: addr2line, ar, as, c++filt, dwp, elfedit, gprof, ld, ld.bfd, ld.gold, nm, objcopy, objdump, ranlib, readelf, size, strings и strip

Библиотеки: libbfd.so, libctf.so, libctf-nobfd.so и libopcodes.so

Директории: /usr/lib/ldscripts