我正在构建两个 linux 内核模块。
第二个模块(debugging
以下称为模块)主要用于jprobe
拦截第一个模块(称为main
模块)内部函数的调用并打印一些状态以进行调试。他们工作得很好。但是我有一个关于debugging
模块对main
模块的依赖性的问题。
显然,debugging
模块依赖于main
模块,因为在debugging
没有加载模块的情况下main
加载模块时,我得到了错误
"Unknown symbol in module, or unknown parameter"
但是,modules.dep 似乎无法弄清楚。通过查看
nm -u <debugging_module.ko>
我没有找到任何与main
模块相关的未解析符号。但是jprobe
需要模块中的函数名main
来拦截,那就是.kp.symbol_name
在jprobe
结构中分配的字符串。
在这种情况下我们如何指定依赖关系?