gpt4 book ai didi

c - 海湾合作委员会错误 : extended registers have no high halves

转载 作者:行者123 更新时间:2023-12-01 02:31:33 25 4
gpt4 key购买 nike

我正在尝试使用 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

最佳答案

好像是这个patch里面加了这个错误:

+   /* Irritantingly AMD extended registers use different naming convention
+ from the normal registers. */
+ if (REX_INT_REG_P (x))
+ {
+ switch (code)
+ {
+ case 5:
+ error ("Extended registers have no high halves\n");
+ break;
+ case 1:
+ fprintf (file, "r%ib", REGNO (x) - FIRST_REX_INT_REG + 8);
+ break;
+ case 2:
+ fprintf (file, "r%iw", REGNO (x) - FIRST_REX_INT_REG + 8);
+ break;
+ case 4:
+ fprintf (file, "r%id", REGNO (x) - FIRST_REX_INT_REG + 8);
+ break;
+ case 8:
+ fprintf (file, "r%i", REGNO (x) - FIRST_REX_INT_REG + 8);
+ break;
+ default:
+ error ("Unsupported operand size for extended register.\n");
+ break;
+ }
+ return;
+ }

尝试不使用选项 -march=x86-64 重新编译。

关于c - 海湾合作委员会错误 : extended registers have no high halves,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com