[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] [PATCH] src/dwarf/Gexpr.c (dwarf_eval_expr): Fix t
From: |
Chris January |
Subject: |
Re: [Libunwind-devel] [PATCH] src/dwarf/Gexpr.c (dwarf_eval_expr): Fix the order of the operands to the relational operators to match the DWARF spec. |
Date: |
Mon, 04 Feb 2013 15:35:29 +0000 |
On Sat, 2013-02-02 at 18:23 -0800, Arun Sharma wrote:
> Also curious what real world breakages this patch fixes. The only case
> using a relational operator I noticed in gcc generated code was
> in .plt.
>
>
> $ readelf -wf /usr/bin/somebinaryl | egrep "OP_gt|le|lt|ge"
> DW_CFA_def_cfa_expression (DW_OP_breg7 (rsp): 8; DW_OP_breg16 (rip):
> 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3;
> DW_OP_shl; DW_OP_plus)
This is where I saw the problem. A signal was raised after a jump to a
PLT entry. Unwinding stopped after the signal frame due to this issue.
Chris