Re: A more accurate System.map, including modules

Keith Owens (kaos@ocs.com.au)
Mon, 22 Sep 1997 22:15:08 +1000


On 22 Sep 1997 04:41:15 GMT,
hpa@transmeta.com (H. Peter Anvin) wrote:
>Suggestion: make insmod log the location of each module in the system
>log, or have the kernel output that information ("kernel: loaded
>module foo at 0xe0801130). Then one could use that information from
>the system log to decode the oops, without involving /proc/ksyms.

Possible as long as you logged which file the module came from, what
name is was loaded under and when modules were removed. Something like

loaded module /lib/modules/2.1.55/net/dummy.o as dummy3 at 0xc1234567
....
deleted module dummy2

And hope that you do not lose any log messages. Either way you still
have to go to the raw module .o file to get the full symbol map, it is
the only place that lists static procs.

Using the full /proc/ksyms gave me the extra benefit of checking ksyms
against the supplied map and modules to ensure they matched. You would
loose this ability with simple log entries. I think the best option is
regular and/or exception capture of /proc/ksyms to an external file.