该软件包的更多信息可以在第 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}.{a,la}
该软件包的更多信息可以在第 8.18.2 节 “Binutils 的内容”中找到。