该软件包的更多信息可以在第 8.18.2 节 “Binutils 的内容”中找到。
Binutils 包含汇编器、链接器以及其他用于处理目标文件的工具。
Binutils 的源码包中内置了一份陈旧的 libtool 拷贝。这个版本的 libtool 没有 sysroot 支持,因此产生的二进制代码会错误地链接到宿主系统提供的库。绕过这个问题:
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-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.18.2 节 “Binutils 的内容”中找到。