From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.2-sysv/chapter06/binutils-pass2.html | 183 ++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 lfs-12.2-sysv/chapter06/binutils-pass2.html (limited to 'lfs-12.2-sysv/chapter06/binutils-pass2.html') diff --git a/lfs-12.2-sysv/chapter06/binutils-pass2.html b/lfs-12.2-sysv/chapter06/binutils-pass2.html new file mode 100644 index 0000000..52fb10b --- /dev/null +++ b/lfs-12.2-sysv/chapter06/binutils-pass2.html @@ -0,0 +1,183 @@ + + + + + + 6.17. Binutils-2.43.1 - Проход 2 + + + + + + + + +

+ 6.17. Binutils-2.43.1 - Проход 2 +

+
+
+

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

+
+
+
+ Приблизительное время сборки: + 0.4 SBU +
+
+ Требуемое дисковое + пространство: 549 MB +
+
+
+
+
+

+ 6.17.1. Установка пакета Binutils +

+

+ Система сборки Binutils использует содержащуюся в пакете копию + libtool для линковки с внутренними статическими библиотеками, но + копии libiberty и zlib, поставляемые с пакетом, не используют + libtool. Это несоответствие может привести к тому, что созданные + двоичные файлы будут ошибочно связаны с библиотеками из основного + дистрибутива. Решение этой проблемы: +

+
sed '6009s/$add_dir//' -i ltmain.sh
+

+ Создайте отдельный каталог для сборки: +

+
mkdir -v build
+cd       build
+

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

+
../configure                   \
+    --prefix=/usr              \
+    --build=$(../config.guess) \
+    --host=$LFS_TGT            \
+    --disable-nls              \
+    --enable-shared            \
+    --enable-gprofng=no        \
+    --disable-werror           \
+    --enable-64-bit-bfd        \
+    --enable-new-dtags         \
+    --enable-default-hash-style=gnu
+
+

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

+
+
+ --enable-shared +
+
+

+ Собирает libbfd как разделяемую + библиотеку +

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

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

+
+
+
+

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

+
make
+

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

+
make DESTDIR=$LFS install
+

+ Удалите архивные файлы libtool, поскольку они потенциально опасны + при кросс-компиляции, также удалите ненужные статические библиотеки +

+
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
+
+
+

+ Подробная информация об этом пакете находится в Раздел 8.20.2, + «Содержимое пакета Binutils.» +

+
+
+ + + -- cgit v1.2.3