Hello community,

here is the log from the commit of package valgrind for openSUSE:11.4
checked in at Fri Nov 11 17:32:43 CET 2011.



--------
--- old-versions/11.4/UPDATES/all/valgrind/valgrind.changes     2011-08-24 
17:54:41.000000000 +0200
+++ 11.4/valgrind/valgrind.changes      2011-11-11 17:03:50.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Nov 11 16:47:27 CET 2011 - [email protected]
+
+- fix crash on handling DW_Op_opcode in certain debuginfos (bnc#729896)
+
+-------------------------------------------------------------------

calling whatdependson for 11.4-i586


New:
----
  valgrind-opge.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ valgrind.spec ++++++
--- /var/tmp/diff_new_pack.jGG8Cd/_old  2011-11-11 17:30:31.000000000 +0100
+++ /var/tmp/diff_new_pack.jGG8Cd/_new  2011-11-11 17:30:31.000000000 +0100
@@ -28,7 +28,7 @@
 Summary:        Memory Management Debugger
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Version:        3.6.1
-Release:        1.<RELEASE5>
+Release:        1.<RELEASE14>
 Source0:        %{name}-%{version}.tar.bz2
 # svn  di svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_5_0 
svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_5_BRANCH > 3_5_BRANCH.diff
 # svn  di svn://svn.valgrind.org/vex/tags/VEX_3_5_0 
svn://svn.valgrind.org/vex/branches/VEX_3_5_BRANCH > VEX_3_5_BRANCH.diff
@@ -54,6 +54,7 @@
 Patch45:        valgrind-3.6.1-kernel3.patch
 Patch46:        glibc-2.14.diff
 Patch47:        valgrind_r12002.diff
+Patch48:        valgrind-opge.patch
 # during building the major version of glibc is built into the suppression file
 %define glibc_main_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut 
-d. -f1)
 %define glibc_major_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut 
-d. -f2)
@@ -175,6 +176,7 @@
 %patch45
 %patch46
 %patch47
+%patch48
 
 %build
 export CFLAGS="$RPM_OPT_FLAGS"

++++++ valgrind-opge.patch ++++++
Index: coregrind/m_debuginfo/readdwarf.c
===================================================================
--- coregrind/m_debuginfo/readdwarf.c   (revision 11852)
+++ coregrind/m_debuginfo/readdwarf.c   (working copy)
@@ -2899,6 +2899,22 @@
             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 );
Index: coregrind/m_debuginfo/debuginfo.c
===================================================================
--- coregrind/m_debuginfo/debuginfo.c   (revision 11852)
+++ coregrind/m_debuginfo/debuginfo.c   (working copy)
@@ -1880,6 +1880,14 @@
             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 wL >= wR ? 1 : 0;
+            case Cop_Gt: return wL > wR ? 1 : 0;
+            case Cop_Le: return wL <= wR ? 1 : 0;
+            case Cop_Lt: return wL < wR ? 1 : 0;
+            case Cop_Ne: return wL != wR ? 1 : 0;
             default: goto unhandled;
          }
          /*NOTREACHED*/
Index: coregrind/m_debuginfo/storage.c
===================================================================
--- coregrind/m_debuginfo/storage.c     (revision 11852)
+++ coregrind/m_debuginfo/storage.c     (working copy)
@@ -603,6 +603,14 @@
       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);
    }
 }
Index: coregrind/m_debuginfo/priv_storage.h
===================================================================
--- coregrind/m_debuginfo/priv_storage.h        (revision 11852)
+++ coregrind/m_debuginfo/priv_storage.h        (working copy)
@@ -249,7 +249,15 @@
       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;
 
continue with "q"...



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to