Linker 在binutils中编译gold时出错

Linker 在binutils中编译gold时出错,linker,binutils,Linker,Binutils,我正在为我正在做的某个研究项目编译项目KernelGen(),构建脚本使用rpmbuild,看起来它依赖于binutils中的gold。尝试编译gold时,生成一直失败,出现以下错误: /bin/sh ./../ylwrap yyscript.y y.tab.c yyscript.c y.tab.h yyscript.h y.output yyscript.output -- byacc -d byacc: e - line 42 of "/home/xxx/rpmbuild/BUILD/bi

我正在为我正在做的某个研究项目编译项目KernelGen(),构建脚本使用rpmbuild,看起来它依赖于binutils中的gold。尝试编译gold时,生成一直失败,出现以下错误:

/bin/sh ./../ylwrap yyscript.y y.tab.c yyscript.c y.tab.h yyscript.h y.output yyscript.output -- byacc  -d
byacc: e - line 42 of "/home/xxx/rpmbuild/BUILD/binutils-2.23.2/gold/yyscript.y", syntax error
%pure-parser
^
文件yyscript.c如下所示:

/* We need to use a pure parser because we might be multi-threaded.
   We pass some arguments through the parser to the lexer.  */

%pure-parser
%parse-param {void* closure}
%lex-param {void* closure}

/* Since we require bison anyhow, we take advantage of it.  */
%error-verbose

/* The values associated with tokens.  */
它看起来像是某种语法文件无法解析。问题是这个文件来自binutils包本身,我找不到它无法解析的原因


有什么想法吗?

您的byacc版本不支持%pure解析器,我认为它最初是bison扩展。用野牛代替