Binutils 软件包包括了一个链接器、汇编器和其它处理目标文件的工具。
大概编译时间: 1 SBU 所需磁盘空间: 545 MB
5.4.1. 安装交叉编译的 Binutils
注意
返回前面章节重新阅读注意事项。了解标记为重要的注意事项能在后面帮你节省很多问题。
第一个编译 Binutils 软件包很重要,因为 Glibc 和 GCC 会对可用的链接器和汇编器执行各种测试以决定启用它们自己的哪些功能。
Binutils 手册建议在源码目录之外一个专门的编译目录里面编译 Binutils:
注意
为了衡量在本书中其余部分所使用 SBU 值,我们要测量一下这个软件包从配置到包括第一次安装在内的编译时间。为了轻松的做到这点,用类似 的方式将命令包装在 time 命令中。
注意
第五章中大概编译的 SBU 值和所需磁盘空间不包括测试套件数据。
现在准备编译 Binutils:
配置选项的含义:
-
告诉配置脚本将 Binutils 程序安装到
/tools
文件夹。 -
用于交叉编译,告诉编译系统在 $LFS 中查找所需的目标系统库。
-
指定需要配置使用的链接器的库路径。
-
因为
LFS_TGT
变量中的机器描述和 config.guess 脚本返回的值略有不同,这个选项会告诉 configure 脚本调整 Binutils 的编译系统来编译一个交叉链接器。 -
这会禁止国际化(i18n),因为国际化对临时工具来说没有必要。
-
这会防止来自宿主编译器的警告事件导致停止编译。
--target=$LFS_TGT
继续编译软件包:
现在编译完成了。通常现在我们会运行测试套件,但在这个初期阶段,测试套件框架(Tcl、Expect 和 DejaGNU) 还没有就绪。在此进行测试的好处不多,因为第一遍编译的程序很快会被第二遍的代替。
如果是在 x86_64 上编译,创建符 链接,以确保工具链的完整性:
安装软件包:
该软件包的详细信息在 6.13.2,“Binutils 软件包内容”中。
创建者:Gerard Beekmans
翻译团队:LCTT
原文链接
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24696 人正在系统学习中 相关资源:【内存遍历工具】Cheat.Engine.V5.4.简体中文版-专业指导文档类…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!