我正在尝试编写一些"独立"(在没有操作系统的情况下直接运行的程序的名称是什么?)代码,并且看到OS-X链接器不支持链接器脚本或平面二进制输出,我认为最好使用GNU链接器。
有没有办法只安装/编译GNU链接器而不安装所有GCC?
编译的 GNU 链接器是否能够理解 GAS 汇编程序的 OS-X 版本输出的目标文件?
如果我不能只编译链接器,编译 GCC 的最佳方法是什么?
注意:我想编译,而不是使用包系统。
我在我的一个实验性宠物内核项目中为此目的使用了 MacPorts 的 cross/i386-elf-gcc
和 cross/i386-elf-binutils
端口,在我的Makefile
中使用这些端口:
CC= i386-elf-gcc-4.3.2
AS= i386-elf-as
LD= i386-elf-ld
我什至没有尝试混合和匹配来自不同工具链的组件。 你也许能够让它以某种方式工作,但如果你可以安装一套"干净"的交叉编译工具,并合理地确定它们会很好地相互配合,这似乎不值得麻烦。