我编写了一小段代码来生成包含一些全局变量的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
告诉我)。
答案 0 :(得分:1)
看起来你正在为i386汇编程序提供arm汇编代码(“.syntax统一”是ARM唯一的东西)。所以,是的,你应该为x86生成代码。最有可能 - 对于i386-apple-darwin10。虽然不确定模拟器。