Hello,
I noticed the operands to the relational operators (DW_OP_le, etc.) in
dwarf_eval_expr are reversed compared with the DWARF spec.
Thanks for noticing this. I've applied the patch.
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)
-Arun