我正在尝试使用 CIL 合并来合并 Linux 内核并对其进行分析。我在不同版本的内核上试过这个。每个人都给出了不同的错误。
Linux-3.4.2:
在 Linux Kernel-3.4.2 源文件夹中,我使用了以下命令
$ make CC="cilly --save-temps --dofsvd --merge"
它给出了以下错误
/home/srikanth/projects2test/linux-3.4.2/arch/x86/include/asm/cpufeature.h[345:0-0]:语法错误解析错误致命错误:异常Frontc.ParseError(“解析错误”)
错误是由于这一行:
asm goto(... : : "i" (bit) : : t_no);
它无法识别“asm”指令。我用谷歌搜索它。在 BLAST 错误报告(此处)中,我发现我们可以使用一些外观选项来防止此类构造。但我不知道使用什么选项。如何忽略 asm(或任何其他不受支持的构造)?
Linux-2.4.5:
在 Linux Kernel-2.4.5 源文件夹中,我使用了以下命令
$ make CC="cilly --save-temps --dofsvd --merge"
上面的命令给出了以下错误
Makefile:229: arch/x86_64/Makefile: 没有这样的文件或目录 make: *没有规则来制作目标 `arch/x86_64/Makefile'。停止。
为此,我包含了 ARCH=i386 选项来制作文件。
$ make ARCH=i386 CC="cilly --save-temps --dofsvd --merge"
它说
init/main.c:1:0:错误:您选择的 CPU 不支持 x86-64 指令集
如何修复此错误?
我想在 Linux Kernel(任何版本)上运行分析。由于这些错误,我无法合并它。请帮我解决这些问题。