[valgrind-variant] r116 committed - Add support for Memcheck:Uninit{,ialized}, :Unaddr{,essable} suppressi...

2 views
Skip to first unread message

valgrind...@googlecode.com

unread,
Oct 28, 2011, 7:33:38 AM10/28/11
to valgrind-var...@googlegroups.com
Revision: 116
Author: timu...@google.com
Date: Fri Oct 28 04:32:57 2011
Log: Add support for Memcheck:Uninit{,ialized}, :Unaddr{,essable}
suppressions. See https://bugs.kde.org/show_bug.cgi?id=256525#c6
http://code.google.com/p/valgrind-variant/source/detail?r=116

Modified:
/trunk/valgrind/memcheck/mc_errors.c

=======================================
--- /trunk/valgrind/memcheck/mc_errors.c Tue Oct 25 09:11:36 2011
+++ /trunk/valgrind/memcheck/mc_errors.c Fri Oct 28 04:32:57 2011
@@ -1405,6 +1405,10 @@
// Unaddressable read/write attempt at given size
Addr1Supp, Addr2Supp, Addr4Supp, Addr8Supp, Addr16Supp,

+ // https://bugs.kde.org/show_bug.cgi?id=256525
+ UnaddrSupp, // Matches Addr*.
+ UninitSupp, // Matches Value*, Param and Cond.
+
JumpSupp, // Jump to unaddressable target
FreeSupp, // Invalid or mismatching free
OverlapSupp, // Overlapping blocks in memcpy(), strcpy(), etc
@@ -1437,6 +1441,12 @@
else if (VG_STREQ(name, "Value4")) skind = Value4Supp;
else if (VG_STREQ(name, "Value8")) skind = Value8Supp;
else if (VG_STREQ(name, "Value16")) skind = Value16Supp;
+ // https://bugs.kde.org/show_bug.cgi?id=256525
+ else if (VG_STREQ(name, "Unaddressable")) skind = UnaddrSupp;
+ else if (VG_STREQ(name, "Unaddr")) skind = UnaddrSupp;
+ else if (VG_STREQ(name, "Uninitialised")) skind = UninitSupp;
+ else if (VG_STREQ(name, "Uninitialized")) skind = UninitSupp;
+ else if (VG_STREQ(name, "Uninit")) skind = UninitSupp;
else
return False;

@@ -1496,6 +1506,16 @@
addr_case:
return (ekind == Err_Addr && extra->Err.Addr.szB == su_szB);

+ // https://bugs.kde.org/show_bug.cgi?id=256525
+ case UnaddrSupp:
+ return (ekind == Err_Addr ||
+ (ekind == Err_MemParam && extra->Err.MemParam.isAddrErr));
+
+ case UninitSupp:
+ return (ekind == Err_Cond || ekind == Err_Value ||
+ ekind == Err_RegParam ||
+ (ekind == Err_MemParam
&& !extra->Err.MemParam.isAddrErr));
+
case JumpSupp:
return (ekind == Err_Jump);

Reply all
Reply to author
Forward
0 new messages