]> git.pld-linux.org Git - packages/valgrind.git/blame - valgrind-opge.patch
- implement DWARF comparison and shift operators; fixed:
[packages/valgrind.git] / valgrind-opge.patch
CommitLineData
67eca5ca
KK
1--- valgrind-3.6.1/coregrind/m_debuginfo/debuginfo.c.orig 2010-10-20 22:19:43.000000000 +0200
2+++ valgrind-3.6.1/coregrind/m_debuginfo/debuginfo.c 2011-08-03 01:18:33.724000500 +0200
3@@ -1958,6 +1958,14 @@
4 case Cop_Sub: return wL - wR;
5 case Cop_And: return wL & wR;
6 case Cop_Mul: return wL * wR;
7+ case Cop_Shl: return wL << wR;
8+ case Cop_Shr: return wL >> wR;
9+ case Cop_Eq: return wL == wR ? 1 : 0;
10+ case Cop_Ge: return (Word) wL >= (Word) wR ? 1 : 0;
11+ case Cop_Gt: return (Word) wL > (Word) wR ? 1 : 0;
12+ case Cop_Le: return (Word) wL <= (Word) wR ? 1 : 0;
13+ case Cop_Lt: return (Word) wL < (Word) wR ? 1 : 0;
14+ case Cop_Ne: return wL != wR ? 1 : 0;
15 default: goto unhandled;
16 }
17 /*NOTREACHED*/
18--- valgrind-3.6.1/coregrind/m_debuginfo/priv_storage.h.orig 2010-10-20 22:19:43.000000000 +0200
19+++ valgrind-3.6.1/coregrind/m_debuginfo/priv_storage.h 2011-08-03 01:09:29.536000499 +0200
20@@ -218,7 +218,15 @@
21 Cop_Add=0x321,
22 Cop_Sub,
23 Cop_And,
24- Cop_Mul
25+ Cop_Mul,
26+ Cop_Shl,
27+ Cop_Shr,
28+ Cop_Eq,
29+ Cop_Ge,
30+ Cop_Gt,
31+ Cop_Le,
32+ Cop_Lt,
33+ Cop_Ne
34 }
35 CfiOp;
36
37--- valgrind-3.6.1/coregrind/m_debuginfo/readdwarf.c.orig 2010-10-20 22:19:43.000000000 +0200
38+++ valgrind-3.6.1/coregrind/m_debuginfo/readdwarf.c 2011-08-03 01:09:29.533000512 +0200
39@@ -2831,6 +2831,22 @@
40 op = Cop_And; opname = "and"; goto binop;
41 case DW_OP_mul:
42 op = Cop_Mul; opname = "mul"; goto binop;
43+ case DW_OP_shl:
44+ op = Cop_Shl; opname = "shl"; goto binop;
45+ case DW_OP_shr:
46+ op = Cop_Shr; opname = "shr"; goto binop;
47+ case DW_OP_eq:
48+ op = Cop_Eq; opname = "eq"; goto binop;
49+ case DW_OP_ge:
50+ op = Cop_Ge; opname = "ge"; goto binop;
51+ case DW_OP_gt:
52+ op = Cop_Gt; opname = "gt"; goto binop;
53+ case DW_OP_le:
54+ op = Cop_Le; opname = "le"; goto binop;
55+ case DW_OP_lt:
56+ op = Cop_Lt; opname = "lt"; goto binop;
57+ case DW_OP_ne:
58+ op = Cop_Ne; opname = "ne"; goto binop;
59 binop:
60 POP( ix );
61 POP( ix2 );
62--- valgrind-3.6.1/coregrind/m_debuginfo/storage.c.orig 2010-10-20 22:19:43.000000000 +0200
63+++ valgrind-3.6.1/coregrind/m_debuginfo/storage.c 2011-08-03 01:09:29.535000503 +0200
64@@ -595,6 +595,14 @@
65 case Cop_Sub: VG_(printf)("-"); break;
66 case Cop_And: VG_(printf)("&"); break;
67 case Cop_Mul: VG_(printf)("*"); break;
68+ case Cop_Shl: VG_(printf)("<<"); break;
69+ case Cop_Shr: VG_(printf)(">>"); break;
70+ case Cop_Eq: VG_(printf)("=="); break;
71+ case Cop_Ge: VG_(printf)(">="); break;
72+ case Cop_Gt: VG_(printf)(">"); break;
73+ case Cop_Le: VG_(printf)("<="); break;
74+ case Cop_Lt: VG_(printf)("<"); break;
75+ case Cop_Ne: VG_(printf)("!="); break;
76 default: vg_assert(0);
77 }
78 }
This page took 0.031823 seconds and 4 git commands to generate.