我有两个内核模块(说MODA和MODB)内核模块。 modA用EXPORT_SYMBOL(symA)
导出符号,modB使用它。我有头modA.h
为MODA:警告生成使用导出的符号
...
extern void symA(int param);
...
和modB.c
:
#include "modA.h"
...
static int __init modB_init(void)
{
symA(10);
}
...
如果我insmod
MODB一切工作正常,我的商业方法是正确的内核链接和功能symA
正确调用。然而,当我建立商业方法编译器提出了一个警告:symA is undefined
。 LKM是ELF可重定位的,为什么编译器会提出这种警告?这怎么能被删除?
太棒了!我错过了。谢谢你,Gossamer! – MirkoBanchi 2012-02-29 14:33:21