因此情況如下:我需要能夠從Linux機器(在Ubuntu上,它的價值)編譯二進制文件,這些文件能夠從SPARC服務器運行。我試圖編譯程序是非常簡單的:無法使用叮進行交叉編譯爲SPARC
#include <stdio.h>
#include <stdlib.h>
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以及很少的成功。
Clang的[文檔](http://clang.llvm.org/docs/UsersManual.html)表明SPARC支持不完整。 – nneonneo
你看看最新的代碼並自己構建它嗎?我確定Ubuntu中的clang/llvm是svn trunk的好方法。我偶爾會看到針對sparc的LLVM提交,所以至少llvm支持應該正在改進。 – cb88