Re: looking for help interpreting softlockup/stack trace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf Baechle wrote:
On Wed, Aug 06, 2008 at 11:57:32AM -0700, David Daney wrote:

In the trace below, is "epc" the program counter at the time of the timer interrupt? How does "ra" fit into this, given that the function whose address it contains isn't seen in the stack trace until quite a ways down?
$LBB378 is an internal symbol.  The value of RA may not be very informative
if it was overwritten by a random subroutine call.

I have thought about eliminating these internal labels when the module's symbols are read.  Would this make any sense?

I think so.  Maybe that could even be done when the module is linked.  I
don't think there are ever any relocations against these local symbols.
Thiemo?


I take it back.  Most of the $LC... symbols (typically string constants) are needed for relocations.  Currently I cannot find in my builds any $LB... symbols.  I wonder if gcc-4.3 eliminates these.

I think the reason they show up in stack traces is that they are data pointers that have been stored on the stack that are misinterpreted as function return addresses.


I wonder what would happen if we compiled all the code with -funwind-tables and had a small DWARF2 unwinder ala GCC's C++ exception handling mechanism. That would allow exact stack traces with no runtime overhead.
David Daney


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux