dkm.out无法生成elf
2018-01-23 本文已影响25人
罗蓁蓁
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.