[Top][All Lists]

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

[Libunwind-devel] [patch] Fix for failing test-setjmp

From: Paul Pluzhnikov
Subject: [Libunwind-devel] [patch] Fix for failing test-setjmp
Date: Mon, 14 Nov 2011 23:45:09 -0800

On Mon, Nov 14, 2011 at 5:02 PM, Paul Pluzhnikov <address@hidden> wrote:

> P.S. test-setjmp is failing for me (before or after the patch).
> When I enable assertions (to confirm my new assertions are correct), I see:
>  lt-test-setjmp: ../../src/dwarf/Gparser.c:754: apply_reg_state: \
>    Assertion `rs->reg[17].where == DWARF_WHERE_EXPR' failed.
> which likely explains that failure.

The problem is actually two-fold:

First, the loops in {sig,}longjmp.c are "do { ... } while (unw_step() >= 0);"

But unw_step() returns 0 on reaching the end of the chain (_start),
and the loop should stop there.

The second problem is that with this commit:
glibc obfuscates value of SP in jmp_buf, so we might as well just give up.

Patch attached.

Paul Pluzhnikov

Attachment: libunwind-longjmp-20111114.txt
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]