[Crash-utility] [PATCH] ARM: fp when unwinding
Dave Anderson
anderson at redhat.com
Fri Oct 7 14:59:43 UTC 2011
----- Original Message -----
> Hi Mika,
>
> On Thu, Oct 6, 2011 at 7:51 PM, Mika Westerberg
> <mika.westerberg at iki.fi> wrote:
> > On Thu, Oct 06, 2011 at 01:04:07PM +0200, Per Fransson wrote:
> >
> >> The 'struct stackframe' we use to keep unwind state when going from
> >> one frame to the next (or should I say previous) only contains fp,
> >> sp, lr and pc, which might be something we should consider changing.
> >> Even as it stands however, frame.fp is assigned an incorrect value
> >> for active tasks. Here's a patch to fix that.
> >
> > I don't understand how it can be incorred - IIRC unwind tables don't use FP at
> > all. It is only there because that register can be used for other purposes and
> > some unwinding instructions might restore it from the stack.
> >
> > Have you seen this problem really happening?
> >
>
> Indeed I have. Looking up the pc 0xc02c9650 I find this idx entry:
>
> 0xc02c9610 0x000376a4
>
> The insn field directs me to the following EHT:
>
> 0x81019b42
>
> which contains two instructions:
>
> exec 0x9b : sp = fp
> exec 0x42 : sp = sp - 0xc
>
> An uninitialized fp makes this fail. With my oneliner it works.
>
> Regards,
> Per
Just for the changelog, what does the backtrace failure look like?
Dave
More information about the Crash-utility
mailing list