Finding all modules which consume kernel lib?
Hello, Is there a website or service or tool or package or script or something which allows me to determine which pieces of the compiled kernel (especially modules) contained the source-code changes I might make to any given directory? Like a kernel-code dependency graph website? For instance, assume I made a change to code in net/wireless/. How do I figure out which pieces of the kernel or modules get linked against the library built from this directory? I could attempt to trace the kernel's build output line-by-line and then grep through the output looking for which other code is linking against cfg80211. That is way too tedious. In this case I would like to know which kernel modules I would need to, potentially, re-test because I apply a patch to this directory.... without examining the build logs. In my case I'm applying some patches and I'd like to make sure I am installing and testing the correct set of related atheros modules. Thank you, andy
On Sat, Mar 09, 2019 at 12:07:00AM -0800, Andy Nicholas wrote:
Hello,
Is there a website or service or tool or package or script or something which allows me to determine which pieces of the compiled kernel (especially modules) contained the source-code changes I might make to any given directory? Like a kernel-code dependency graph website?
For instance, assume I made a change to code in net/wireless/. How do I figure out which pieces of the kernel or modules get linked against the library built from this directory?
I could attempt to trace the kernel's build output line-by-line and then grep through the output looking for which other code is linking against cfg80211. That is way too tedious. In this case I would like to know which kernel modules I would need to, potentially, re-test because I apply a patch to this directory.... without examining the build logs.
Just look at the build logs, it will show you exactly what gets rebuilt when you touch a single file (or multiple files.) That's the simplest way to do what you want here. good luck! greg k-h
On Sat, 09 Mar 2019 13:04:44 +0300, Lev Olshvang said:
There is also modulus.dep file which depmod builds. You can just grep to find which modulus depends.
Note that the modules.dep file only tells modprobe "If you're loading module A, you need to load B first to get some symbols registered". If B is built-in to the kernel, its EXPORT_SYMBOLS are already available, so it doesn't need to be listed in modules.dep. Also, it doesn't record build-time dependencies - it totally assumes that A and B were built against the same source tree and that Kbuild took care of making sure that any source code changes to B that affect A caused a rebuild of A to happen.
participants (4)
-
Andy Nicholas -
Greg KH -
Lev Olshvang -
valdis.kletnieks@vt.edu