编译内核模块时缺少符号

时间:2015-12-17 18:07:58

标签: c linux-kernel kernel

在编译使用标头<asm/mmu_context.h>的简单内核模块时,编译器会大声说有缺少的符号:

WARNING: "__tracepoint_tlb_flush"  undefined!
WARNING: "rdpmc_always_available" undefined!

添加这个简单的陈述:

 struct static_key rdpmc_always_available = STATIC_KEY_INIT_FALSE;

解决rpdmpc_always_availble遗失符号问题。我很确定添加这一行并不是一个好主意,因为内核需要已经拥有它。

我无法找到其他符号的解决方案。

代码非常简单:

#include <linux/sched.h>
#include <asm/mmu_context.h>

int __init init_m(void)
{
    switch_mm(NULL, NULL, NULL);
    return 0;
}

我知道它不起作用,我只想弄清楚如何修复符号警告。 \

0 个答案:

没有答案