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

Lei Wen adrian.wenl at gmail.com
Wed Mar 20 10:06:21 UTC 2013


On Tue, Mar 19, 2013 at 10:58 PM, Dave Anderson <anderson at redhat.com> wrote:
>
>
> ----- 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
>

Add Mike...

Mike,
Do you have any idea for this?

Thanks,
Lei




More information about the Crash-utility mailing list