2016-11-28 43 views
0

我移植xv6從GCC到鐺,並會見了以下錯誤消息:`-Wa,在鏘-divide`選項或LLVM

clang -m32 -gdwarf-2 -Wa,-divide -c -o swtch.o swtch.S 
clang-3.8: error: unsupported argument '-divide' to option 'Wa,' 

注意-Wa用於參數傳遞給彙編,我不知道什麼是-divide選項。

作爲一個修補程序,目前我通過將no-integrated-as選項傳遞給Clang來關閉集成彙編程序。但我想使用Clang的綜合設置。忽略此選項是否安全?或者是否有另一種方法將該選項提供給Clang?

回答

1

氣體手動documentation for --divide說:

在SVR4衍生平臺,字符/' is treated as a comment character, which means that it cannot be used in expressions. The --divide「選項打開/' into a normal character. This does not disable /」在一行的開頭開始評論,或者影響使用'#」開始評論。

在我的Linux桌面,--divide什麼都不做:as組裝mov $(15/2), %eax只是有或無--divide罰款。

所以你應該沒問題把它拿出來。如果這是一個問題,並且鏗鏘會在某些平臺上將/作爲註釋字符對待,則通常應該導致構建時失敗,而不是帶有隱藏錯誤的二進制文件。


是的,-divide顯然做同樣的事情--divide。但是你可能想嘗試--divide以防萬一clang的彙編程序只支持更多標準的雙重-表單。