因此情况如下:我需要能够从Linux机器(在Ubuntu上,它的价值)编译二进制文件,这些文件能够从SPARC服务器运行。我试图编译程序是非常简单的:无法使用叮进行交叉编译为SPARC
#include
#include
int main() {
printf("Testing the SPARC program...");
return EXIT_SUCCESS;
}
我已经尝试了多种不同的编译线来得到它的工作,但遗憾的是没有什么似乎工作。
我尝试了传统:
clang -target sparc blah.c -o blahsparc
但是,这并不工作,带着一帮汇编失败:
/tmp/blah-519e77.s: Assembler messages:
/tmp/blah-519e77.s:7: Error: unknown pseudo-op: '.register'
/tmp/blah-519e77.s:8: Error: unknown pseudo-op: '.register'
/tmp/blah-519e77.s:9: Error: unknown pseudo-op: '.register'
/tmp/blah-519e77.s:10: Error: unknown pseudo-op: '.register'
/tmp/blah-519e77.s:11: Error: no such instruction: 'save %sp,-240,%sp'
/tmp/blah-519e77.s:12: Error: no such instruction: 'st %g0, [%fp+2043]'
...
clang: error: assembler (via gcc) command failed with exit code 1 (use -v to see invocation)
我已经试过这也:
clang -cc1 -triple "sparc-unknown-Linux" blah.c -o blahsparc
哪些抱怨丢失的标题,所以不是使用-cc1,而是使用-Xclang:
clang -Xclang -triple -Xclang "sparc-unknown-Linux" blah.c -o blahsparc
但是,由于“错误:未知目标CPU'x86-64'”,这也会失败。 我不知道该从哪里开始。我尝试过使用crosstool-ng以及很少的成功。
+0
Clang的[文档](http://clang.llvm.org/docs/UsersManual.html)表明SPARC支持不完整。 –
+0
你看看最新的代码并自己构建它吗?我确定Ubuntu中的clang/llvm是svn trunk的好方法。我偶尔会看到针对sparc的LLVM提交,所以至少llvm支持应该正在改进。 –