5.12. Binutils-2.15.94.0.2.2 - 第二遍

Binutils 软件包包含链接器、汇编器以及其他用于处理目标文件的工具。

预计构建时间: 1.5 SBU
所需磁盘空间: 114 MB
安装依赖于: Bash, Bison, Coreutils, Diffutils, Flex, GCC, Gettext, Glibc, Grep, M4, Make, Perl, Sed 和 Texinfo

5.12.1. 重新安装 Binutils

已知此软件包在其默认优化标志(包括 -march-mcpu 选项)更改时会出现问题。如果定义了任何覆盖默认优化的环境变量,例如CFLAGSCXXFLAGS,在构建 Binutils 时取消设置它们。

再次创建一个单独的构建目录

mkdir -v ../binutils-build
cd ../binutils-build

准备编译 Binutils

../binutils-2.15.94.0.2.2/configure --prefix=/tools \
    --disable-nls --enable-shared --with-lib-path=/tools/lib

新的 configure 选项的含义

--with-lib-path=/tools/lib

这告诉 configure 脚本在编译 Binutils 期间指定库搜索路径,从而导致/tools/lib被传递给链接器。这可以防止链接器在主机上搜索库目录。

编译软件包

make

编译现已完成。正如之前讨论的那样,对于本章中的临时工具,运行测试套件不是强制性的。要无论如何运行 Binutils 测试套件,请执行以下命令

make check

安装软件包

make install

现在为下一章中的“重新调整”阶段准备链接器

make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
[Warning]

警告

不要 立即删除 Binutils 源代码和构建目录。下一章中仍需要在它们当前状态下的这些目录。

有关此软件包的详细信息位于第 6.13.2 节,“Binutils 的内容”。