您的位置 首页 Linux

linux – 内核模块中的EXPORT_SYMBOL | insmod期间未定义的符号

我从a.ko(内核模块)导出函数foo()和foo1(),foo1()接受输入参数,一个函数指针.

我从b.ko调用foo1(),并传递foo()作为输入参数.

我看到b.ko(未知符号foo)的insmod失败,即使a.ko已经在b.ko之前被破坏了.

任何解释/解决方案?

谢谢,
幸运

解决方法

有两种方法可以解决这个问题:1)在同一个Makefile中编译内核模块,即objs-m:= a.o b.o. 2)包括** KBUILD_EXTRA_SYMBOLS =<“导出函数或变量的内核模块的Module.symvers的绝对路径”>在内核模块的Makefile中,它将使用导出的函数或变量.

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章