[Crash-utility] dis command not correct in crash [ARM]

Mika Westerberg mika.westerberg at iki.fi
Tue Mar 5 08:06:50 UTC 2013


On Tue, Mar 05, 2013 at 08:26:15AM +0800, Lei Wen wrote:
> Hi Mike,
> 
> 
> On Tue, Mar 5, 2013 at 3:49 AM, Mika Westerberg <mika.westerberg at iki.fi>wrote:
> 
> > On Mon, Mar 04, 2013 at 10:20:42AM +0800, Lei Wen wrote:
> > > I met "dis" command not correct issue when use the crash, any idea?
> > > For built-in "dis" command in crash:
> > > crash> dis task_rq_lock
> > > 0xc015a2d8 <task_rq_lock>:      rscsgt  r0, sp, r3, lsl #14
> > > 0xc015a2dc <task_rq_lock+4>:    mrcgt   8, 7, r0, cr2, cr13, {5}
> > > 0xc015a2e0 <task_rq_lock+8>:    mcrvc   8, 4, r3, cr13, cr3, {6}
> > > 0xc015a2e4 <task_rq_lock+12>:   lslsvc  r3, r10, r8
> > > 0xc015a2e8 <task_rq_lock+16>:   bl      0xc049fe34
> > > <__ip_route_output_key+220>
> >
> > Looks weird.
> >
> > What is the kernel version? Does the 'dis' command work for other
> > functions?
> >
> 
> Seems other functions is not working either...
> Is the page table being corrupted? But I still could parse out the dump
> image and check the kernel dmesg for it, which is also weird.

If crash is able to show you backtraces etc. I believe it has nothing to do
with page table corruption. And the symbols are in vmlinux file anyway.

> crash> dis sched_rt_handler
> 0xc0160ed8 <sched_rt_handler>:  cdppl   13, 5, cr2, cr6, cr13, {4}
> 0xc0160edc <sched_rt_handler+4>:        stcle   9, cr7, [r7], #132      ;
> 0x84
> 0xc0160ee0 <sched_rt_handler+8>:                        ; <UNDEFINED>
> instruction: 0x167256bb
> 
> (gdb) disas sched_rt_handler
> Dump of assembler code for function sched_rt_handler:
>    0xc0160ed8 <+0>:     push    {r4, r5, r6, r7, r8, r9, r10, r11, lr}
>    0xc0160edc <+4>:     add     r11, sp, #32
>    0xc0160ee0 <+8>:     ldr     r4, [pc, #384]  ; 0xc0161068
> <sched_rt_handler+400>

What does 'nm vmlinux|grep sched_rt_handler' say?

Since the dis command does nothing ARM specific, I wonder if we have GDB
version in crash that misses some newer GCC features? What GDB version are you
using?




More information about the Crash-utility mailing list