我想编译一个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