如何使GNU汇编器输出ELF对象而不是Mach-O对象?

时间:2012-06-09 21:00:44

标签: assembly elf gas

我是OS开发的新手,我想将内核编译为ELF二进制文件。我有一个用汇编语言编写的加载器(GAS语法)。我使用as(Apple Inc版本cctools-822,GNU汇编器版本1.38)在Mac OS X 10.7上编译它。

% as -arch i386 src/loader/x86.S -o src/loader/x86.o

但是,% file src/loader/x86.o告诉我它是一个Mach-O文件。

% file src/loader/x86.o
src/loader/x86.o: Mach-O object i386

我阅读了as的手册页,但我找不到如何生成ELF对象而不是Mach-O对象。谷歌搜索也没有任何有用的东西。

1 个答案:

答案 0 :(得分:1)

最好的方法是按照here所述为x86 / x86-64 ELF安装binutils