From 5a6834585c43296c2207f5f251d3d5c237c7c8d2 Mon Sep 17 00:00:00 2001 From: Sn4il Date: Wed, 6 Mar 2024 10:25:41 +0300 Subject: Update LFS mirror --- lfs-12.0-sysv/chapter08/binutils.html | 656 ---------------------------------- 1 file changed, 656 deletions(-) delete mode 100644 lfs-12.0-sysv/chapter08/binutils.html (limited to 'lfs-12.0-sysv/chapter08/binutils.html') diff --git a/lfs-12.0-sysv/chapter08/binutils.html b/lfs-12.0-sysv/chapter08/binutils.html deleted file mode 100644 index 7248a33..0000000 --- a/lfs-12.0-sysv/chapter08/binutils.html +++ /dev/null @@ -1,656 +0,0 @@ - - - - - - 8.18. Binutils-2.41 - - - - - - - - -
-

- 8.18. - Binutils-2.41 -

-
-

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

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

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

-

- Документация Binutils рекомендует выполнять компиляцию в отдельном - каталоге: -

-
mkdir -v build
-cd       build
-

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

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

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

-
-
- --enable-gold -
-
-

- Собирает компоновщик gold и устанавливает его как ld.gold - (вместе с компоновщиком по умолчанию). -

-
-
- --enable-ld=default -
-
-

- Собирает оригинальный компоновщик bfd и устанавливает его как - ld (компоновщик по умолчанию) и как ld.bfd -

-
-
- --enable-plugins -
-
-

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

-
-
- --enable-64-bit-bfd -
-
-

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

-
-
- --with-system-zlib -
-
-

- Использовать установленную библиотеку zlib вместо сборки - собственной. -

-
-
-
-

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

-
make tooldir=/usr
-
-

- Значение параметра make: -

-
-
- tooldir=/usr -
-
-

- Обычно для tooldir (каталога, в котором будут расположены - исполняемые файлы) установлено значение $(exec_prefix)/$(target_alias). Например, - машины x86_64 преобразуют это значение в /usr/x86_64-unknown-linux-gnu. Поскольку - это пользовательская система, то целевой каталог в - /usr не требуется. Параметр - $(exec_prefix)/$(target_alias) - использовался, если бы система применялась для - кросс-компиляции (например, при компиляции пакета на - компьютере Intel, который генерирует код, который может быть - выполнен на компьютерах PowerPC). -

-
-
-
-
- [Важно] -

- Важно -

-

- Набор тестов для Binutils в этом разделе считается критически - важным. Ни в коем случае не пропускайте его. -

-
-

- Выполните тестирование: -

-
make -k check
-

- Чтобы получить список неудачных тестов, запустите: -

-
grep '^FAIL:' $(find -name '*.log')
-

- Двенадцать тестов завершаются неудачно в наборе тестов gold, когда - GCC собирается с параметрами --enable-default-pie и --enable-default-ssp. -

-

- Также известно, что завершаются неудачно три теста в пакете - gprofng. -

-

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

-
make tooldir=/usr install
-

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

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

- 8.18.2. - Содержимое пакета Binutils -

-
-
-
- Установленные программы: - addr2line, ar, as, c++filt, dwp, elfedit, - gprof, gprofng, ld, ld.bfd, ld.gold, nm, objcopy, objdump, - ranlib, readelf, size, strings и strip -
-
- Установленные библиотеки: - libbfd.so, libctf.so, libctf-nobfd.so, - libgprofng.so, libopcodes.so и libsframe.so -
-
- Созданные каталоги: - /usr/lib/ldscripts -
-
-
-
-

- Краткое описание -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- addr2line -

-
-

- Переводит адреса программ в имена файлов и номера строк; - учитывая адрес и имя исполняемого файла, использует - отладочную информацию в исполняемом файле, для - определения файла исходного кода и номера строки, - ассоциированной с адресом -

-
-

- ar -

-
-

- Создаёт, изменяет и распаковывает архивы -

-
-

- as -

-
-

- Ассемблер, который собирает результат работы gcc в объектные файлы -

-
-

- c++filt -

-
-

- Используется компоновщиком для исправления символов C++ и - Java и предотвращения конфликтов перегруженных функций. -

-
-

- dwp -

-
-

- Утилита для упаковки DWARF -

-
-

- elfedit -

-
-

- Обновляет ELF заголовки в ELF файлах -

-
-

- gprof -

-
-

- Отображает в графическом виде информацию о профилировании -

-
-

- gprofng -

-
-

- Собирает и анализирует данные о производительности -

-
-

- ld -

-
-

- Компоновщик, который объединяет несколько объектных и - архивных файлов в один файл, перемещая их данные и - связывая символическими ссылками -

-
-

- ld.gold -

-
-

- Урезанная версия ld, которая поддерживает только формат - объектных файлов elf -

-
-

- ld.bfd -

-
-

- Жесткая ссылка на ld -

-
-

- nm -

-
-

- Выводит список символов, используемых в данном объектном - файле -

-
-

- objcopy -

-
-

- Преобразует один тип объектного файла в другой -

-
-

- objdump -

-
-

- Отображает информацию о данном объектном файле; можно - указать параметры, определяющие, какая конкретно - информация будет отображаться. Отображаемая информация - полезна для программистов, которые работают над - инструментами, используемыми при компиляции -

-
-

- ranlib -

-
-

- Создает индекс содержимого архива и сохраняет его в - архиве; в индексе перечислены все символы, определенные в - перемещаемых объектных файлах, содержащихся в архиве -

-
-

- readelf -

-
-

- Отображает информацию о двоичных файлах типа ELF -

-
-

- size -

-
-

- Отображает размеры секций и общий размер указанных - объектных файлов -

-
-

- strings -

-
-

- Выводит для каждого указанного файла последовательности - печатаемых символов, которые имеют по крайней мере - указанную длину (по умолчанию четыре); для объектных - файлов по умолчанию печатаются только строки из секций - инициализации и загрузки, в то время как для других - файлов он сканирует весь файл. -

-
-

- strip -

-
-

- Удаляет символы из объектных файлов -

-
-

- libbfd -

-
-

- Библиотека дескрипторов двоичных файлов -

-
-

- libctf -

-
-

- Библиотека отладки формата Compat ANSI-C Type -

-
-

- libctf-nobfd -

-
-

- Вариант libctf, не использующий функциональность libbfd. -

-
-

- libgprofng -

-
-

- Библиотека, содержащая большинство подпрограмм, - используемых gprofng -

-
-

- libopcodes -

-
-

- Библиотека для работы с опкодами—«читаемыми» - версиями инструкций для процессора. Используется для - сборки таких утилит как objdump -

-
-

- libsframe -

-
-

- Библиотека для поддержки обратной онлайн-трассировки с - использованием простого декодера разделов .sframe. -

-
-
-
-
- - - -- cgit v1.2.3