[Crash-utility] Why module's global symbol cannot be displayed in crash?

Dave Anderson anderson at redhat.com
Tue Mar 19 14:58:22 UTC 2013



----- Original Message -----
> Dave,
> 
> On Tue, Mar 19, 2013 at 10:31 PM, Dave Anderson <anderson at redhat.com>
> wrote:
> >
> >
> > ----- Original Message -----
> >> Hi list,
> >>
> >> I find in current 6.1.4 crash, when load module with "mod -S",
> >> only module's function symbol could be parsed out.
> >>
> >> But for module's global variant, crash cannot find related
> >> symbol...
> >> Any idea for this?
> >>
> >
> > Without the debuginfo data from the module.ko.debug file, crash
> > gets all of its module symbol data from the kernel.  So it uses
> > what's available in the in-kernel /proc/kallsyms list plus the
> > information stored in each module's "struct module".  The
> > store_module_symbols_v2() function does the work.
> >
> > If "mod -[sS]" is used, then crash has access to full debuginfo
> > data
> > from the module.ko.debug file.  In that case, the
> > store_load_module_symbols()
> > function does the work.
> >
> 
> For current, what I saw is when I have loaded the module, only
> the t or T type symbol is installed, while others like d or D type it
> would not be loaded at all...
> 
> While for one symbol, I already knows its member has a specific
> magic number, so that I search the memory, and find its virtual
> address becomes to 0xexxxxxxx, not the 0xbfxxxxxx.
> So does it mean the debuginfo in that module only has text related,
> while data type are all muted, and why?...
> 
> 
> Thanks,
> Lei

I have no idea.  With x86/x86_64 you can see text, data and bss
symbols both before and after the "mod -[sS]" command is run.

Dave




More information about the Crash-utility mailing list