From 810f0212bd9178ae9a437b8b7c1e9d7dde466af7 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Jul 21 2011 16:36:16 +0000 Subject: valgrind-3.6.1-5 --- diff --git a/valgrind-3.6.1-plt-unwind-info.patch b/valgrind-3.6.1-plt-unwind-info.patch new file mode 100644 index 0000000..d34a608 --- /dev/null +++ b/valgrind-3.6.1-plt-unwind-info.patch @@ -0,0 +1,78 @@ +--- valgrind/coregrind/m_debuginfo/priv_storage.h (revision 11855) ++++ valgrind/coregrind/m_debuginfo/priv_storage.h (revision 11904) +@@ -249,7 +249,15 @@ typedef + Cop_Add=0x321, + Cop_Sub, + Cop_And, +- Cop_Mul ++ Cop_Mul, ++ Cop_Shl, ++ Cop_Shr, ++ Cop_Eq, ++ Cop_Ge, ++ Cop_Gt, ++ Cop_Le, ++ Cop_Lt, ++ Cop_Ne + } + CfiOp; + +--- valgrind/coregrind/m_debuginfo/readdwarf.c (revision 11855) ++++ valgrind/coregrind/m_debuginfo/readdwarf.c (revision 11904) +@@ -2899,6 +2899,22 @@ static Int dwarfexpr_to_dag ( UnwindCont + op = Cop_And; opname = "and"; goto binop; + case DW_OP_mul: + op = Cop_Mul; opname = "mul"; goto binop; ++ case DW_OP_shl: ++ op = Cop_Shl; opname = "shl"; goto binop; ++ case DW_OP_shr: ++ op = Cop_Shr; opname = "shr"; goto binop; ++ case DW_OP_eq: ++ op = Cop_Eq; opname = "eq"; goto binop; ++ case DW_OP_ge: ++ op = Cop_Ge; opname = "ge"; goto binop; ++ case DW_OP_gt: ++ op = Cop_Gt; opname = "gt"; goto binop; ++ case DW_OP_le: ++ op = Cop_Le; opname = "le"; goto binop; ++ case DW_OP_lt: ++ op = Cop_Lt; opname = "lt"; goto binop; ++ case DW_OP_ne: ++ op = Cop_Ne; opname = "ne"; goto binop; + binop: + POP( ix ); + POP( ix2 ); +--- valgrind/coregrind/m_debuginfo/debuginfo.c (revision 11855) ++++ valgrind/coregrind/m_debuginfo/debuginfo.c (revision 11904) +@@ -1880,6 +1880,14 @@ UWord evalCfiExpr ( XArray* exprs, Int i + case Cop_Sub: return wL - wR; + case Cop_And: return wL & wR; + case Cop_Mul: return wL * wR; ++ case Cop_Shl: return wL << wR; ++ case Cop_Shr: return wL >> wR; ++ case Cop_Eq: return wL == wR ? 1 : 0; ++ case Cop_Ge: return (Word) wL >= (Word) wR ? 1 : 0; ++ case Cop_Gt: return (Word) wL > (Word) wR ? 1 : 0; ++ case Cop_Le: return (Word) wL <= (Word) wR ? 1 : 0; ++ case Cop_Lt: return (Word) wL < (Word) wR ? 1 : 0; ++ case Cop_Ne: return wL != wR ? 1 : 0; + default: goto unhandled; + } + /*NOTREACHED*/ +--- valgrind/coregrind/m_debuginfo/storage.c (revision 11855) ++++ valgrind/coregrind/m_debuginfo/storage.c (revision 11904) +@@ -603,6 +603,14 @@ static void ppCfiOp ( CfiOp op ) + case Cop_Sub: VG_(printf)("-"); break; + case Cop_And: VG_(printf)("&"); break; + case Cop_Mul: VG_(printf)("*"); break; ++ case Cop_Shl: VG_(printf)("<<"); break; ++ case Cop_Shr: VG_(printf)(">>"); break; ++ case Cop_Eq: VG_(printf)("=="); break; ++ case Cop_Ge: VG_(printf)(">="); break; ++ case Cop_Gt: VG_(printf)(">"); break; ++ case Cop_Le: VG_(printf)("<="); break; ++ case Cop_Lt: VG_(printf)("<"); break; ++ case Cop_Ne: VG_(printf)("!="); break; + default: vg_assert(0); + } + } diff --git a/valgrind.spec b/valgrind.spec index 8ea3de9..9ae66d1 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -1,7 +1,7 @@ Summary: Tool for finding memory management bugs in programs Name: valgrind Version: 3.6.1 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2 Patch1: valgrind-3.6.1-cachegrind-improvements.patch @@ -25,6 +25,7 @@ Patch18: valgrind-3.6.1-x86-ldso-strlen.patch Patch19: valgrind-3.6.1-ppc64-build.patch Patch20: valgrind-3.6.1-tests-_GNU_SOURCE.patch Patch21: valgrind-3.6.1-x86_64-memcpy-memmove.patch +Patch22: valgrind-3.6.1-plt-unwind-info.patch License: GPLv2 URL: http://www.valgrind.org/ Group: Development/Debuggers @@ -120,6 +121,7 @@ for details. %patch19 -p1 %patch20 -p1 %patch21 -p1 +%patch22 -p1 chmod 755 none/tests/s390x/filter_stderr || : @@ -221,6 +223,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Thu Jul 21 2011 Jakub Jelinek 3.6.1-5 +- handle PLT unwind info (#723790, KDE#277045) + * Mon Jun 13 2011 Jakub Jelinek 3.6.1-4 - fix memcpy/memmove redirection on x86_64 (#705790)