[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