That is another option but suffers from a few problems.
The output format is not compatible with System.map, no big deal, that
is what sed/grep/awk/perl are for.
-m only works on insmod, not on modprobe so you must specify the exact
location.
When modules are deleted, there is no easy way of detecting the fact
with this approach. It gets very confusing when another module is
loaded and reuses the space.
No way of persuading kerneld to generate the map when kerneld loads
modules.
Basically the insmod -m approach is fine for static environments where
you control which modules are loaded but I wanted something that would
work with kerneld as well. Also my approach lets me double check ksyms
against System.map and the modules to detect any mismatch in the input
data.