dkm.out无法生成elf

dkm.out无法生成elf

现象是IDE提示dkm.out文件无法生成elf文件。

当我们使用手动链接,使得dkm.out文件生成elf文件时,会报以下错误:

image.png

这个问题,x86 64位也遇到过:最终的原因是使用参数-mcmodel=kernel,只能使用最高2G最低2G的内存空间,如果想使用更多的大内存空间,应该使用-mcmodel=large。

如今ppc也遇到了,但这是和指令集相关的编译参数,mcmodel对于ppc并不适用,我们在网上搜索找到了-mlongcall参数,加入到base_cflags中。

image.png

然后重新编译os和dkm即可正常。

以上是解决方法,但是原因呢?如果你不知道原因,你会很快很快地忘掉!这是遇到两次的血淋淋的经验之谈。。。

第一步是翻译:

relocation truncated to fit: R_X86_64_PC32(R_PPC_REL24) against symbol.

你可能感兴趣的:(dkm.out无法生成elf)