在binutils中编译黄金时出错

时间:2013-07-15 09:12:00

标签: linker binutils

我正在尝试为我正在做的一些研究项目编译项目KernelGen(http://hpcforge.org/plugins/mediawiki/wiki/kernelgen/index.php/Compiling),构建脚本使用rpmbuild,看起来它依赖于binutils中的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包本身,我找不到它无法解析的原因。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你的byacc版本没有正确支持%pure-parser,我相信它最初是一个野牛扩展。改用bison。