diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-03-06 10:25:41 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-03-06 10:25:41 +0300 |
commit | 5a6834585c43296c2207f5f251d3d5c237c7c8d2 (patch) | |
tree | 5c3f9adc4c5fd0b3bdc3b017b021a36016c0f15b /lfs-12.1-sysv/chapter06/binutils-pass2.html | |
parent | 2b6ec04f001bbdf660476a1275d90075d746833c (diff) | |
download | sn4il-site-5a6834585c43296c2207f5f251d3d5c237c7c8d2.tar.gz sn4il-site-5a6834585c43296c2207f5f251d3d5c237c7c8d2.zip |
Update LFS mirror
Diffstat (limited to 'lfs-12.1-sysv/chapter06/binutils-pass2.html')
-rw-r--r-- | lfs-12.1-sysv/chapter06/binutils-pass2.html | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/lfs-12.1-sysv/chapter06/binutils-pass2.html b/lfs-12.1-sysv/chapter06/binutils-pass2.html new file mode 100644 index 0000000..aa97a0f --- /dev/null +++ b/lfs-12.1-sysv/chapter06/binutils-pass2.html @@ -0,0 +1,182 @@ +<!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> + 6.17. Binutils-2.42 - Проход 2 + </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> + Глава 6. Кросс-Компиляция временных инструментов + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="xz.html" title="Xz-5.4.6">Пред.</a> + <p> + Xz-5.4.6 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gcc-pass2.html" title= + "GCC-13.2.0 - Проход 2">След.</a> + <p> + GCC-13.2.0 - Проход 2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter06.html" title= + "Глава 6. Кросс-Компиляция временных инструментов">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.1">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-tools-binutils-pass2" name= + "ch-tools-binutils-pass2"></a>6.17. Binutils-2.42 - Проход 2 + </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">0.5 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">537 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 6.17.1. Установка пакета Binutils + </h2> + <p> + Система сборки Binutils использует содержащуюся в пакете копию + libtool для линковки с внутренними статическими библиотеками, но + копии libiberty и zlib, поставляемые с пакетом, не используют + libtool. Это несоответствие может привести к тому, что созданные + двоичные файлы будут ошибочно связаны с библиотеками из основного + дистрибутива. Решение этой проблемы: + </p> + <pre class="userinput"><kbd class= + "command">sed '6009s/$add_dir//' -i ltmain.sh</kbd></pre> + <p> + Создайте отдельный каталог для сборки: + </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 \ + --build=$(../config.guess) \ + --host=$LFS_TGT \ + --disable-nls \ + --enable-shared \ + --enable-gprofng=no \ + --disable-werror \ + --enable-64-bit-bfd \ + --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-shared</code></em></span> + </dt> + <dd> + <p> + Собирает <code class="filename">libbfd</code> как разделяемую + библиотеку + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-64-bit-bfd</code></em></span> + </dt> + <dd> + <p> + Включает 64-разрядную поддержку (на хостах с меньшим размером + слова). В 64-разрядных системах это может и не понадобиться, + но вреда от этого не будет + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make DESTDIR=$LFS install</kbd></pre> + <p> + Удалите архивные файлы libtool, поскольку они потенциально опасны + при кросс-компиляции, также удалите ненужные статические библиотеки + </p> + <pre class="userinput"><kbd class= + "command">rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}</kbd></pre> + </div> + <div class="content" lang="ru" xml:lang="ru"> + <p> + Подробная информация об этом пакете находится в <a class="xref" + href="../chapter08/binutils.html#contents-binutils" title= + "8.19.2. Содержимое пакета Binutils">Раздел 8.19.2, + «Содержимое пакета Binutils.»</a> + </p> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="xz.html" title="Xz-5.4.6">Пред.</a> + <p> + Xz-5.4.6 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gcc-pass2.html" title= + "GCC-13.2.0 - Проход 2">След.</a> + <p> + GCC-13.2.0 - Проход 2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter06.html" title= + "Глава 6. Кросс-Компиляция временных инструментов">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.1">Начало</a> + </li> + </ul> + </div> + </body> +</html> |