我想編譯一個64位C庫使用gcc-4.9.1.
編譯時與-O2
,我在不同的地方得到以下錯誤。 -O0
彙編工作正常。GCC錯誤:擴展寄存器沒有高一半
Error:
error: extended registers have no high halves
任何想法爲什麼這個錯誤信息即將到來,以及如何解決它。它指向的行號是該函數的結尾。
的編譯器選項:
-march=x86-64 -fno-omit-frame-pointer -m64 -Wno-pointer-sign
-Wno-error=address -ggdb -gdwarf-2 -g2 -feliminate-unused-debug-types
聽起來像一個海灣合作委員會的錯誤。谷歌搜索:https://sourceforge.net/p/covered/bugs/171/ –
沒有人應該使用'-fno-omit-frame-pointer',CFI指令可以更好地展開。 – o11c