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 - dmueller@suse.de + +- 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: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org