我只是想知道在OSX上加载和执行elf文件的可能性。我知道标准的可执行格式是MACHO,但是NASM无法为MACHO对象生成调试信息(我需要使用NASM)。我想它是一个很长的镜头,但我不认为我可以使用ELF文件。我可以用NASM构建它们,但我似乎甚至无法将它们与LD联系起来。
答案 0 :(得分:13)
最佳OS X内部书的作者有一些代码显示了如何编写内核扩展来处理另一种可执行文件格式here。他给出了两个例子:运行运行Google Native Client(NaCl)ELF应用程序和运行Apout的PDP-11应用程序。
我不确定这个软件有多成熟。它目前支持Leopard并且更好。
答案 1 :(得分:5)
现在有一个'对象转换器'程序,它可以将ELF文件转换为MACHO文件,以及可执行文件和对象/加载程序文件的其他几个转换。有关详细信息,请参阅http://agner.org/optimize/#objconv。没有尝试过,但有大量文档可供使用。