正确的llvm目标三重为iPhone模拟器

时间:2011-05-31 09:54:37

标签: iphone code-generation llvm

我编写了一小段代码来生成包含一些全局变量的LLVM模块。我正在使用LLVM汇编程序将模块转换为LLVM汇编代码,然后将其转换为本机二进制文件,然后将其链接到其他库以生成最终二进制文件,即iPhone应用程序。当我为设备构建时,一切正常,但是当我为模拟器构建时,从LLVM组装转换为机器代码时出现以下错误:

file.asm:1:Unknown pseudo-op: .syntax
file.asm:1:Rest of line ignored. 1st junk character valued 117 (u).

我怀疑目标三元组对于模拟器架构是不正确的。我使用armv6-apple-darwin9表示设备,i386-apple-darwin10表示模拟器。有人能为模拟器指出正确的目标三联?任何其他提示同样受欢迎。模拟器在“10.7 Darwin i386”机器上运行(左右uname -a告诉我)。

1 个答案:

答案 0 :(得分:1)

看起来你正在为i386汇编程序提供arm汇编代码(“.syntax统一”是ARM唯一的东西)。所以,是的,你应该为x86生成代码。最有可能 - 对于i386-apple-darwin10。虽然不确定模拟器。