可以尝试使用最新的binutils版本或手动更正出现错误的GNU代码。下面是可能出现语法错误的示例代码:
/* file: bfd/elfcode.h */
#define ELF_ST_VISIBILITY(o) ((o) & 0x03)
在这段代码中,应该将括号中的o
用括号括起来,以消除语法错误(即将(o)
改为((o))
)。修改后的代码如下:
/* file: bfd/elfcode.h */
#define ELF_ST_VISIBILITY(o) (((o) & 0x03))
修改后,重新编译binutils应该能够成功,而且不会再出现相同的语法错误。