Re: functions about dump backtrace function names in mips arch

2011-01-03 Thread nilesh
On Mon, 2011-01-03 at 22:32 +0800, loody wrote:
> hi all:
> 
> 2011/1/3 Sowmya Sridharan :
> >
> > 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.
[...]
> >
> >
[...]
> > 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?

Enabling the config option, it allows to build the symbol table for
kernel. It uses /proc/kallsyms.
Below links could help:
http://tldp.org/HOWTO/Module-HOWTO/x627.html
http://fixunix.com/kernel/134739-proc-kallsyms-symbol-size.html

> Regards,
> miloody

-- 
Thanks,
Nilesh

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: functions about dump backtrace function names in mips arch

2011-01-03 Thread loody
hi:

2011/1/3 loody :
> hi all:
>
> 2011/1/3 Sowmya Sridharan :
>>
>> 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?
from log such as:
<80128580>] do_softirq+0x48/0x68
i know 0x48 is the offset of do_softirq, but how can I locate precise
what the offset 0x48 of do_softirq is? "objdump -s"?
Regards,
miloody

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: functions about dump backtrace function names in mips arch

2011-01-03 Thread loody
hi all:

2011/1/3 Sowmya Sridharan :
>
> 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

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: functions about dump backtrace function names in mips arch

2011-01-02 Thread Sowmya Sridharan
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

kernelnewbies-boun...@kernelnewbies.org wrote on 01/02/2011 04:31:08 PM:

> [image removed] 
> 
> Re: functions about dump backtrace function names in mips arch
> 
> Mulyadi Santosa 
> 
> to:
> 
> loody
> 
> 01/02/2011 04:33 PM
> 
> Sent by:
> 
> kernelnewbies-boun...@kernelnewbies.org
> 
> Cc:
> 
> Kernel Newbies
> 
> On Sun, Jan 2, 2011 at 15:26, loody  wrote:
> >  Dear all:
> >  If i remember correctly, when kernel panic there is a function I can
> >  use to dump all the names of backtrace functions.
> >  I have searched arch/mips/traps.c, but I only can see the dump
> >  functions of cpu registers,
> 
> In x86, it's dump_stack(). The definition can be read here online:
> http://lxr.linux.no/#linux+v2.6.36/arch/x86/kernel/dumpstack.c#L198
> 
> -- 
> regards,
> 
> Mulyadi Santosa
> Freelance Linux trainer and consultant
> 
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
> 
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
=-=-=
Notice: The information contained in this e-mail
message and/or attachments to it may contain 
confidential or privileged information. If you are 
not the intended recipient, any dissemination, use, 
review, distribution, printing or copying of the 
information contained in this e-mail message 
and/or attachments to it are strictly prohibited. If 
you have received this communication in error, 
please notify us by reply e-mail or telephone and 
immediately and permanently delete the message 
and any attachments. Thank you


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: functions about dump backtrace function names in mips arch

2011-01-02 Thread Mulyadi Santosa
On Sun, Jan 2, 2011 at 15:26, loody  wrote:
>  Dear all:
>  If i remember correctly, when kernel panic there is a function I can
>  use to dump all the names of backtrace functions.
>  I have searched arch/mips/traps.c, but I only can see the dump
>  functions of cpu registers,

In x86, it's dump_stack(). The definition can be read here online:
http://lxr.linux.no/#linux+v2.6.36/arch/x86/kernel/dumpstack.c#L198

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies