[Crash-utility] crash-6.0.2 won't do module source lines on our kernel

Dave Anderson anderson at redhat.com
Thu Jan 26 20:24:50 UTC 2012



----- Original Message -----
> 
> 
> ----- Original Message -----
> > I've reverted back to crash-5.1.9 and applied my kmem patch to that for
> > our use here.  We're using a 3.1-based kernel, and need the kmem patch
> > so crash can deal with the change in CONFIG_SLAB, but we're building
> > with gcc-4.4.5 and don't really need the new gdb in crash-6.0.2, and
> > crash-6.0.2 is not giving module source line numbers for us with "dis -l".
> > 
> > This is just a heads up.  I don't know why 6.0.2 is failing this, and
> > since I found the last module source line number problem, it's not my
> > turn ;-)
> > 
> > Bob Montgomery
>  
> What kernel version?  I'll try to reproduce it.
> 
> BTW, you might try this patch to symbols.c:
> 
>  https://www.redhat.com/archives/crash-utility/2011-December/msg00043.html
> 
> > I could not found out corresponding condition from gdb-7.3.1/
> > but maybe -readnow is simple and proper way for this problem.
> > I've tested and got the good result.
> > 
> > //                      sprintf(buf, "add-symbol-file %s 0x%lx",
> >                         sprintf(buf, "add-symbol-file %s 0x%lx
> >                         -readnow",
> >                                 lm->mod_namelist, section_vaddr);
> 
> Although I still don't know why the module line-number fixes that went
> into crash-6.0.1 wouldn't accomplish the same thing without the overhead
> of doing it for all symbols of all modules.
> 
> Dave

So I tried to reproduce it -- at least with this 3.1-based kernel built 
with gcc 4.6.2:

crash> help -k | grep proc_version
  proc_version: Linux version 3.1.7-1.fc16.x86_64 (mockbuild at x86-18.phx2.fedoraproject.org) (gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) ) #1 SMP Tue Jan 3 19:45:05 UTC 2012
crash> 

but module line numbers come out OK:

crash> mod -s bnx2 bnx2.ko.debug
     MODULE       NAME                   SIZE  OBJECT FILE
ffffffffa00c69c0  bnx2                  75492  bnx2.ko.debug 
crash> dis -l bnx2_open
/usr/src/debug/kernel-3.1.fc16/linux-3.1.x86_64/drivers/net/bnx2.c: 6265
0xffffffffa00c0e80 <bnx2_open>: push   %rbp
0xffffffffa00c0e81 <bnx2_open+1>:       mov    %rsp,%rbp
0xffffffffa00c0e84 <bnx2_open+4>:       push   %r15
0xffffffffa00c0e86 <bnx2_open+6>:       push   %r14
0xffffffffa00c0e88 <bnx2_open+8>:       push   %r13
0xffffffffa00c0e8a <bnx2_open+10>:      push   %r12
0xffffffffa00c0e8c <bnx2_open+12>:      push   %rbx
0xffffffffa00c0e8d <bnx2_open+13>:      sub    $0x8,%rsp
0xffffffffa00c0e91 <bnx2_open+17>:      data32 data32 data32 xchg %ax,%ax
/usr/src/debug/kernel-3.1.fc16/linux-3.1.x86_64/drivers/net/bnx2.c: 6266
0xffffffffa00c0e96 <bnx2_open+22>:      lea    0x740(%rdi),%r12
/usr/src/debug/kernel-3.1.fc16/linux-3.1.x86_64/drivers/net/bnx2.c: 6265
0xffffffffa00c0e9d <bnx2_open+29>:      mov    %rdi,%rbx
...

Dave




More information about the Crash-utility mailing list