导出内核符号错误!(err -22)
2017-07-07 17:41
1421 查看
module A使用EXPORT_SYMBOL_GPL()到处某个符号,module B使用这个符号,但在加载模块B时却出现如下错误:
[ 4009.479510] B: no symbol version for xxx
[ 4009.479519] B: Unknown symbol xxx (err -22)
这是linux kernel 2.6.26 之后版本的bug,并且这个bug不会被fix;
解决方案是在module B的Makefile中使用KBUILD_EXTRA_SYMBOLS指明module A中Module.symvers的绝对路径,如下:
KBUILD_EXTRA_SYMBOLS=/home/xxx/A/Module.symvers
这样在编译module B时就可以直接将此符号信息会直接连接进去;
[ 4009.479510] B: no symbol version for xxx
[ 4009.479519] B: Unknown symbol xxx (err -22)
这是linux kernel 2.6.26 之后版本的bug,并且这个bug不会被fix;
解决方案是在module B的Makefile中使用KBUILD_EXTRA_SYMBOLS指明module A中Module.symvers的绝对路径,如下:
KBUILD_EXTRA_SYMBOLS=/home/xxx/A/Module.symvers
这样在编译module B时就可以直接将此符号信息会直接连接进去;
相关文章推荐
- 关于linux-2.6.26内核以后版本中出现的符号导出无法被调用的问题
- ldv-kernelRule: ERR.aspect定义对内核指针错误处理函数的重构
- mysql导出到文件错误(err 1290)
- 内核模块导出符号使用
- 在程序中使用libcurl的的静态链接库产生的未导出符号的错误
- linux内核导出符号
- linux驱动开发---导出内核符号
- 查看当前环境下内核导出了哪些符号
- Linux内核模块:初始化、加载/卸载、模块参数、导出符号、错误处理、模块装载竞争
- 如何导出内核模块符号以及如何引用导出的符号
- 获取Linux内核未导出符号的几种方式
- Linux 驱动开发之内核模块开发(四)—— 符号表的导出
- 【原创】内核符号导出
- 内核符号导出
- 获取Linux内核未导出符号的几种方式
- linux 内核模块编程之内核符号导出(五)
- Driver:搭建linux驱动开发环境、内核驱动开发基础、导出符号、打印优先级
- 内核符号表导出EXPORT_SYMBOL
- 导出javadoc时遇到的找不到符号错误,
- linux驱动开发--导出内核符号