From: David Daney <ddaney@avtrex.com>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Chris Friesen <cfriesen@nortel.com>,
linux-mips@linux-mips.org, Thiemo Seufer <ths@networkno.de>
Subject: Re: looking for help interpreting softlockup/stack trace
Date: Thu, 07 Aug 2008 14:57:51 -0700 [thread overview]
Message-ID: <489B6FDF.9070900@avtrex.com> (raw)
In-Reply-To: <20080807134323.GA15703@linux-mips.org>
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
next prev parent reply other threads:[~2008-08-07 21:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-05 18:25 looking for help interpreting softlockup/stack trace Chris Friesen
2008-08-05 19:11 ` Kaz Kylheku
2008-08-05 19:11 ` Kaz Kylheku
2008-08-05 21:38 ` Chris Friesen
2008-08-05 19:16 ` Ralf Baechle
2008-08-06 18:35 ` Chris Friesen
2008-08-06 18:57 ` David Daney
2008-08-07 13:43 ` Ralf Baechle
2008-08-07 14:19 ` Thiemo Seufer
2008-08-07 21:57 ` David Daney [this message]
2008-08-05 20:28 ` Chad Reese
2008-08-05 20:46 ` Chris Friesen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=489B6FDF.9070900@avtrex.com \
--to=ddaney@avtrex.com \
--cc=cfriesen@nortel.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=ths@networkno.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.