functions about dump backtrace function names in mips arch

loody miloody at gmail.com
Mon Jan 3 09:32:51 EST 2011


hi all:

2011/1/3 Sowmya Sridharan <sowmya.sridharan at tcs.com>:
>
> Hi,
>
> I was able to check it in 2.6.36 version of kernel, and it is defined in
> traps.c.
> http://lxr.linux.no/linux+v2.6.36/arch/mips/kernel/traps.c#L205
>
> dump_stack() calls show_backtrace function which had been show_trace in the
> earlier kernel versions.
> I compared between 2.6.14 and the latest version, and here are the
> differences:
> -------------------------------------------------------------------------------
> http://lxr.linux.no/linux+v2.6.14/arch/mips/kernel/traps.c#L110
> function: show_trace
>      while (!kstack_end(stack)) {
>                 addr = *stack++;
>                 if (__kernel_text_address(addr)) {
>                         printk(" [<%0*lx>] ", field, addr);
>                         print_symbol("%s\n", addr);
>                 }
>         }
> ---------------------------------------------------------------------------------
> In the latest kernel, show_backtrace function is used, which does the same
> thing, but through different functions
> http://lxr.linux.no/linux+v2.6.36/arch/mips/kernel/traps.c#L126
> function: show_backtrace
>         printk("Call Trace:\n");
>          do {
>                  print_ip_sym(pc);
>                  pc = unwind_stack(task, &sp, pc, &ra);
>          } while (pc);
>
>
> Regards,
> Sowmya
thanks for your kind help, that is what I want.
previously, I only see the address instead of function name, but after
I select CONFIG_KALLSYMS as Y, I can see the function names also.
BTW, what is the mechanism that kernel take to find out the function name?
Regards,
miloody



More information about the Kernelnewbies mailing list