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

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

概述我从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. 我从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中,它将使用导出的函数或变量. 总结

以上是内存溢出为你收集整理的linux – 内核模块中的EXPORT_SYMBOL | insmod期间未定义的符号全部内容,希望文章能够帮你解决linux – 内核模块中的EXPORT_SYMBOL | insmod期间未定义的符号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1049776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存