summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris January <chris.january@allinea.com>2013-01-31 11:46:57 +0000
committerArun Sharma <asharma@fb.com>2013-02-04 19:36:33 -0800
commit679b65cd221efa7df42b6a369c7b1ebe9d8b5c3e (patch)
treebfbad2ceba532567697f13804920fe3dd68c2245
parent10b064ffe902d5af31bb49bd8e4f03c545f8d462 (diff)
downloadlibunwind-679b65cd221efa7df42b6a369c7b1ebe9d8b5c3e.tar.gz
dwarf: Fix the order of the operands to the relational operators
dwarf_eval_expr are reversed compared with the DWARF spec.
-rw-r--r--src/dwarf/Gexpr.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/dwarf/Gexpr.c b/src/dwarf/Gexpr.c
index b4f2bc96..502021cf 100644
--- a/src/dwarf/Gexpr.c
+++ b/src/dwarf/Gexpr.c
@@ -574,42 +574,42 @@ do { \
Debug (15, "OP_le\n");
tmp1 = pop ();
tmp2 = pop ();
- push (sword (as, tmp1) <= sword (as, tmp2));
+ push (sword (as, tmp2) <= sword (as, tmp1));
break;
case DW_OP_ge:
Debug (15, "OP_ge\n");
tmp1 = pop ();
tmp2 = pop ();
- push (sword (as, tmp1) >= sword (as, tmp2));
+ push (sword (as, tmp2) >= sword (as, tmp1));
break;
case DW_OP_eq:
Debug (15, "OP_eq\n");
tmp1 = pop ();
tmp2 = pop ();
- push (sword (as, tmp1) == sword (as, tmp2));
+ push (sword (as, tmp2) == sword (as, tmp1));
break;
case DW_OP_lt:
Debug (15, "OP_lt\n");
tmp1 = pop ();
tmp2 = pop ();
- push (sword (as, tmp1) < sword (as, tmp2));
+ push (sword (as, tmp2) < sword (as, tmp1));
break;
case DW_OP_gt:
Debug (15, "OP_gt\n");
tmp1 = pop ();
tmp2 = pop ();
- push (sword (as, tmp1) > sword (as, tmp2));
+ push (sword (as, tmp2) > sword (as, tmp1));
break;
case DW_OP_ne:
Debug (15, "OP_ne\n");
tmp1 = pop ();
tmp2 = pop ();
- push (sword (as, tmp1) != sword (as, tmp2));
+ push (sword (as, tmp2) != sword (as, tmp1));
break;
case DW_OP_skip: