summaryrefslogtreecommitdiff
path: root/lfs-12.0-sysv/chapter06/binutils-pass2.html
diff options
context:
space:
mode:
authorSn4il <sn4il@thedroth.rocks>2024-01-10 16:57:29 +0300
committerSn4il <sn4il@thedroth.rocks>2024-01-10 16:57:29 +0300
commitc4d43142181a45b849a15cf8ec5ebe61cea33897 (patch)
tree459a90d19e6f1ece81fbf364c1b5292214d99615 /lfs-12.0-sysv/chapter06/binutils-pass2.html
parenta044ba7b1561a513e33de0b7c1876aaa401a26d7 (diff)
downloadsn4il-site-c4d43142181a45b849a15cf8ec5ebe61cea33897.tar.gz
sn4il-site-c4d43142181a45b849a15cf8ec5ebe61cea33897.zip
LFS 12 mirror
Diffstat (limited to 'lfs-12.0-sysv/chapter06/binutils-pass2.html')
-rw-r--r--lfs-12.0-sysv/chapter06/binutils-pass2.html179
1 files changed, 179 insertions, 0 deletions
diff --git a/lfs-12.0-sysv/chapter06/binutils-pass2.html b/lfs-12.0-sysv/chapter06/binutils-pass2.html
new file mode 100644
index 0000000..a29b05b
--- /dev/null
+++ b/lfs-12.0-sysv/chapter06/binutils-pass2.html
@@ -0,0 +1,179 @@
+<!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.41 - Проход 2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
+ <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.0">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.0
+ </h4>
+ <h3>
+ Глава 6. Кросс-Компиляция временных инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="xz.html" title="Xz-5.4.4">Пред.</a>
+ <p>
+ Xz-5.4.4
+ </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.0">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <div class="wrap" lang="en" xml:lang="en">
+ <h1 class="sect1">
+ <a id="ch-tools-binutils-pass2" name=
+ "ch-tools-binutils-pass2"></a>6.17. Binutils-2.41 - Проход 2
+ </h1>
+ <div class="package" lang="en" xml:lang="en">
+ <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">523 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="en" xml:lang="en">
+ <h2 class="sect2">
+ 6.17.1. Установка пакета Binutils
+ </h2>
+ <p>
+ Binutils поставляет устаревшую версию libtool в архиве. В нем
+ отсутствует поддержка sysroot, поэтому созданные двоичные файлы
+ будут ошибочно связаны с библиотеками из основного дистрибутива.
+ Решение этой проблемы:
+ </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</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="en" xml:lang="en">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/binutils.html#contents-binutils" title=
+ "8.18.2. Содержимое пакета Binutils">Раздел&nbsp;8.18.2,
+ «Содержимое пакета Binutils.»</a>
+ </p>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="xz.html" title="Xz-5.4.4">Пред.</a>
+ <p>
+ Xz-5.4.4
+ </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.0">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>