我有一個64位版本的llvm-gcc,但我希望能夠構建32位和64位二進制文件。有沒有這個標誌?我試圖通過-m32(這在常規的gcc作品),但我得到一個錯誤信息是這樣的:使用64位構建32位llvm-gcc
[[email protected]]$ llvm-gcc -m32 test.c -o test
Warning: Generation of 64-bit code for a 32-bit processor requested.
Warning: 64-bit processors all have at least SSE2.
/tmp/cchzYo9t.s: Assembler messages:
/tmp/cchzYo9t.s:8: Error: bad register name `%rbp'
/tmp/cchzYo9t.s:9: Error: bad register name `%rsp'
...
這是倒退;我想爲64位處理器生成32位代碼!
我正在運行llvm-gcc 4.2,它是Ubuntu 9.04 x86-64附帶的版本。
編輯:這裏是輸出的相關部分,當我運行LLVM-GCC與-v標誌:
[[email protected]]$ llvm-gcc -v -m32 test.c -o test.bc
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../llvm-gcc4.2-2.2.source/configure --host=x86_64-linux-gnu --build=x86_64-linux-gnu --prefix=/usr/lib/llvm/gcc-4.2 --enable-languages=c,c++ --program-prefix=llvm- --enable-llvm=/usr/lib/llvm --enable-threads --disable-nls --disable-shared --disable-multilib --disable-bootstrap
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5546) (LLVM build)
/usr/lib/llvm/gcc-4.2/libexec/gcc/x86_64-linux-gnu/4.2.1/cc1 -quiet -v -imultilib . test.c -quiet -dumpbase test.c -m32 -mtune=generic -auxbase test -version -o /tmp/ccw6TZY6.s
我看着在/ usr/lib中/ LLVM/GCC- 4.2/libexec/gcc希望找到另一個二進制文件,但唯一的目錄是x86_64-linux-gnu。我可能會考慮從源代碼編譯llvm-gcc,然後選擇適當的選項。
您收到的錯誤信息非常奇怪;你可以使用-v編譯併發布llvm-gcc實際使用的完整參數列表嗎? – 2009-09-24 22:20:02
以詳細輸出更新。 – 2009-09-25 18:18:52