【发布时间】:2017-08-29 19:01:16
【问题描述】:
我正在尝试使用 gcc-4.9.1. 编译 64 位 C 库在使用 -O2 编译时,我在不同的地方收到以下错误。 -O0 编译工作正常。
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
【问题讨论】:
-
听起来像一个 gcc 错误。谷歌搜索:sourceforge.net/p/covered/bugs/171
-
没有人应该使用
-fno-omit-frame-pointer,CFI 指令可以更好地展开。