[valgrind] valgrind-3.6.1-5

Jakub Jelinek jakub at fedoraproject.org
Thu Jul 21 16:36:28 UTC 2011


commit 810f0212bd9178ae9a437b8b7c1e9d7dde466af7
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Thu Jul 21 18:36:16 2011 +0200

    valgrind-3.6.1-5

 valgrind-3.6.1-plt-unwind-info.patch |   78 ++++++++++++++++++++++++++++++++++
 valgrind.spec                        |    7 +++-
 2 files changed, 84 insertions(+), 1 deletions(-)
---
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 <jakub at redhat.com> 3.6.1-5
+- handle PLT unwind info (#723790, KDE#277045)
+
 * Mon Jun 13 2011 Jakub Jelinek <jakub at redhat.com> 3.6.1-4
 - fix memcpy/memmove redirection on x86_64 (#705790)
 


More information about the scm-commits mailing list