diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.1-sysv/chapter08/binutils.html | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.1-sysv/chapter08/binutils.html')
-rw-r--r-- | lfs-12.1-sysv/chapter08/binutils.html | 642 |
1 files changed, 0 insertions, 642 deletions
diff --git a/lfs-12.1-sysv/chapter08/binutils.html b/lfs-12.1-sysv/chapter08/binutils.html deleted file mode 100644 index e122a4f..0000000 --- a/lfs-12.1-sysv/chapter08/binutils.html +++ /dev/null @@ -1,642 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 8.19. Binutils-2.42 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 8. Установка базового системного программного обеспечения - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="pkgconf.html" title= - "Pkgconf-2.1.1">Пред.</a> - <p> - Pkgconf-2.1.1 - </p> - </li> - <li class="next"> - <a accesskey="n" href="gmp.html" title="GMP-6.3.0">След.</a> - <p> - GMP-6.3.0 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-system-binutils" name="ch-system-binutils"></a>8.19. - Binutils-2.42 - </h1> - <div class="wrap" lang="ru" xml:lang="ru"> - <div class="package" lang="ru" xml:lang="ru"> - <p> - Пакет Binutils содержит компоновщик, ассемблер и другие инструменты - для работы с объектными файлами. - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">2.2 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">2.7 GB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - 8.19.1. Установка пакета Binutils - </h2> - <p> - Документация Binutils рекомендует выполнять компиляцию в отдельном - каталоге: - </p> - <pre class="userinput"><kbd class="command">mkdir -v build -cd build</kbd></pre> - <p> - Подготовьте Binutils к компиляции: - </p> - <pre class="userinput"><kbd class= - "command">../configure --prefix=/usr \ - --sysconfdir=/etc \ - --enable-gold \ - --enable-ld=default \ - --enable-plugins \ - --enable-shared \ - --disable-werror \ - --enable-64-bit-bfd \ - --with-system-zlib \ - --enable-default-hash-style=gnu</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение новых параметров настройки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-gold</code></em></span> - </dt> - <dd> - <p> - Собирает компоновщик gold и устанавливает его как ld.gold - (вместе с компоновщиком по умолчанию). - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-ld=default</code></em></span> - </dt> - <dd> - <p> - Собирает оригинальный компоновщик bfd и устанавливает его как - ld (компоновщик по умолчанию) и как ld.bfd - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-plugins</code></em></span> - </dt> - <dd> - <p> - Включает поддержку плагинов для компоновщика. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--with-system-zlib</code></em></span> - </dt> - <dd> - <p> - Указывает, что необходимо использовать установленную - библиотеку zlib вместо сборки собственной. - </p> - </dd> - </dl> - </div> - <p> - Скомпилируйте пакет: - </p> - <pre class="userinput"><kbd class= - "command">make tooldir=/usr</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметра make:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>tooldir=/usr</code></em></span> - </dt> - <dd> - <p> - Обычно для tooldir (каталога, в котором будут расположены - исполняемые файлы) установлено значение <code class= - "filename">$(exec_prefix)/$(target_alias)</code>. Например, - машины x86_64 преобразуют это значение в <code class= - "filename">/usr/x86_64-unknown-linux-gnu</code>. Поскольку - это пользовательская система, то целевой каталог в - <code class="filename">/usr</code> не требуется. Параметр - <code class="filename">$(exec_prefix)/$(target_alias)</code> - использовался, если бы система применялась для - кросс-компиляции (например, при компиляции пакета на - компьютере Intel, который генерирует код, который может быть - выполнен на компьютерах PowerPC). - </p> - </dd> - </dl> - </div> - <div class="admon important"> - <img alt="[Важно]" src="../images/important.png" /> - <h3> - Важно - </h3> - <p> - Набор тестов для Binutils в этом разделе считается критически - важным. Ни в коем случае не пропускайте его. - </p> - </div> - <p> - Выполните тестирование: - </p> - <pre class="userinput"><kbd class="command">make -k check</kbd></pre> - <p> - Чтобы получить список неудачных тестов, запустите: - </p> - <pre class="userinput"><kbd class= - "command">grep '^FAIL:' $(find -name '*.log')</kbd></pre> - <p> - Двенадцать тестов завершаются неудачно в наборе тестов gold, когда - GCC собирается с параметрами <code class= - "option">--enable-default-pie</code> и <code class= - "option">--enable-default-ssp</code>. - </p> - <p> - Установите пакет: - </p> - <pre class="userinput"><kbd class= - "command">make tooldir=/usr install</kbd></pre> - <p> - Удалите бесполезные статические библиотеки: - </p> - <pre class="userinput"><kbd class= - "command">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a</kbd></pre> - </div> - <div class="content" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="contents-binutils" name="contents-binutils"></a>8.19.2. - Содержимое пакета Binutils - </h2> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Установленные программы:</strong> - <span class="segbody">addr2line, ar, as, c++filt, dwp, elfedit, - gprof, gprofng, ld, ld.bfd, ld.gold, nm, objcopy, objdump, - ranlib, readelf, size, strings и strip</span> - </div> - <div class="seg"> - <strong class="segtitle">Установленные библиотеки:</strong> - <span class="segbody">libbfd.so, libctf.so, libctf-nobfd.so, - libgprofng.so, libopcodes.so и libsframe.so</span> - </div> - <div class="seg"> - <strong class="segtitle">Созданные каталоги:</strong> - <span class="segbody">/usr/lib/ldscripts</span> - </div> - </div> - </div> - <div class="variablelist"> - <h3> - Краткое описание - </h3> - <table border="0" class="variablelist"> - <colgroup> - <col align="left" valign="top" /> - <col /> - </colgroup> - <tbody> - <tr> - <td> - <p> - <a id="addr2line" name="addr2line"></a><span class= - "term"><span class= - "command"><strong>addr2line</strong></span></span> - </p> - </td> - <td> - <p> - Переводит адреса программ в имена файлов и номера строк; - учитывая адрес и имя исполняемого файла, использует - отладочную информацию в исполняемом файле, для - определения файла исходного кода и номера строки, - ассоциированной с адресом - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ar" name="ar"></a><span class="term"><span class= - "command"><strong>ar</strong></span></span> - </p> - </td> - <td> - <p> - Создаёт, изменяет и распаковывает архивы - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="as" name="as"></a><span class="term"><span class= - "command"><strong>as</strong></span></span> - </p> - </td> - <td> - <p> - Ассемблер, который собирает результат работы <span class= - "command"><strong>gcc</strong></span> в объектные файлы - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="c-filt" name="c-filt"></a><span class= - "term"><span class= - "command"><strong>c++filt</strong></span></span> - </p> - </td> - <td> - <p> - Используется компоновщиком для исправления символов C++ и - Java и предотвращения конфликтов перегруженных функций. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="dwp" name="dwp"></a><span class= - "term"><span class="command"><strong>dwp</strong></span></span> - </p> - </td> - <td> - <p> - Утилита для упаковки DWARF - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="elfedit" name="elfedit"></a><span class= - "term"><span class= - "command"><strong>elfedit</strong></span></span> - </p> - </td> - <td> - <p> - Обновляет ELF заголовки в ELF файлах - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="gprof" name="gprof"></a><span class= - "term"><span class= - "command"><strong>gprof</strong></span></span> - </p> - </td> - <td> - <p> - Отображает в графическом виде информацию о профилировании - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="gprofng" name="gprofng"></a><span class= - "term"><span class= - "command"><strong>gprofng</strong></span></span> - </p> - </td> - <td> - <p> - Собирает и анализирует данные о производительности - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ld" name="ld"></a><span class="term"><span class= - "command"><strong>ld</strong></span></span> - </p> - </td> - <td> - <p> - Компоновщик, который объединяет несколько объектных и - архивных файлов в один файл, перемещая их данные и - связывая символическими ссылками - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ld.gold" name="ld.gold"></a><span class= - "term"><span class= - "command"><strong>ld.gold</strong></span></span> - </p> - </td> - <td> - <p> - Урезанная версия ld, которая поддерживает только формат - объектных файлов elf - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ld.bfd" name="ld.bfd"></a><span class= - "term"><span class= - "command"><strong>ld.bfd</strong></span></span> - </p> - </td> - <td> - <p> - Жесткая ссылка на <span class= - "command"><strong>ld</strong></span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="nm" name="nm"></a><span class="term"><span class= - "command"><strong>nm</strong></span></span> - </p> - </td> - <td> - <p> - Выводит список символов, используемых в данном объектном - файле - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="objcopy" name="objcopy"></a><span class= - "term"><span class= - "command"><strong>objcopy</strong></span></span> - </p> - </td> - <td> - <p> - Преобразует один тип объектного файла в другой - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="objdump" name="objdump"></a><span class= - "term"><span class= - "command"><strong>objdump</strong></span></span> - </p> - </td> - <td> - <p> - Отображает информацию о данном объектном файле; можно - указать параметры, определяющие, какая конкретно - информация будет отображаться. Отображаемая информация - полезна для программистов, которые работают над - инструментами, используемыми при компиляции - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ranlib" name="ranlib"></a><span class= - "term"><span class= - "command"><strong>ranlib</strong></span></span> - </p> - </td> - <td> - <p> - Создает индекс содержимого архива и сохраняет его в - архиве; в индексе перечислены все символы, определенные в - перемещаемых объектных файлах, содержащихся в архиве - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="readelf" name="readelf"></a><span class= - "term"><span class= - "command"><strong>readelf</strong></span></span> - </p> - </td> - <td> - <p> - Отображает информацию о двоичных файлах типа ELF - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="size" name="size"></a><span class= - "term"><span class= - "command"><strong>size</strong></span></span> - </p> - </td> - <td> - <p> - Отображает размеры секций и общий размер указанных - объектных файлов - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="strings" name="strings"></a><span class= - "term"><span class= - "command"><strong>strings</strong></span></span> - </p> - </td> - <td> - <p> - Выводит для каждого указанного файла последовательности - печатаемых символов, которые имеют по крайней мере - указанную длину (по умолчанию четыре); для объектных - файлов по умолчанию печатаются только строки из секций - инициализации и загрузки, в то время как для других - файлов он сканирует весь файл. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="strip" name="strip"></a><span class= - "term"><span class= - "command"><strong>strip</strong></span></span> - </p> - </td> - <td> - <p> - Удаляет символы из объектных файлов - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libbfd" name="libbfd"></a><span class= - "term"><code class="filename">libbfd</code></span> - </p> - </td> - <td> - <p> - Библиотека дескрипторов двоичных файлов - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libctf" name="libctf"></a><span class= - "term"><code class="filename">libctf</code></span> - </p> - </td> - <td> - <p> - Библиотека отладки формата Compat ANSI-C Type - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libctf-nobfd" name="libctf-nobfd"></a><span class= - "term"><code class="filename">libctf-nobfd</code></span> - </p> - </td> - <td> - <p> - Вариант libctf, не использующий функциональность libbfd. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libgprofng" name="libgprofng"></a><span class= - "term"><code class="filename">libgprofng</code></span> - </p> - </td> - <td> - <p> - Библиотека, содержащая большинство подпрограмм, - используемых <span class= - "command"><strong>gprofng</strong></span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libopcodes" name="libopcodes"></a><span class= - "term"><code class="filename">libopcodes</code></span> - </p> - </td> - <td> - <p> - Библиотека для работы с опкодами—<span class= - "quote">«<span class="quote">читаемыми</span>»</span> - версиями инструкций для процессора. Используется для - сборки таких утилит как <span class= - "command"><strong>objdump</strong></span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libsframe" name="libsframe"></a><span class= - "term"><code class="filename">libsframe</code></span> - </p> - </td> - <td> - <p> - Библиотека для поддержки обратной онлайн-трассировки с - использованием простого декодера разделов .sframe. - </p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="pkgconf.html" title= - "Pkgconf-2.1.1">Пред.</a> - <p> - Pkgconf-2.1.1 - </p> - </li> - <li class="next"> - <a accesskey="n" href="gmp.html" title="GMP-6.3.0">След.</a> - <p> - GMP-6.3.0 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |