----- Original Message -----
Hi Mika,
On Thu, Oct 6, 2011 at 7:51 PM, Mika Westerberg
<mika.westerberg(a)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