> hi all:
>
> 2011/1/3 Sowmya Sridharan <sowmya.sridharan@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?