Added support for Value16 and Addr16 error suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1677 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/glibc-2.1.supp b/glibc-2.1.supp
index d81340d..64e809b 100644
--- a/glibc-2.1.supp
+++ b/glibc-2.1.supp
@@ -15,8 +15,8 @@
#
# For Memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
diff --git a/glibc-2.2.supp b/glibc-2.2.supp
index 52de819..189aa65 100644
--- a/glibc-2.2.supp
+++ b/glibc-2.2.supp
@@ -16,8 +16,8 @@
#
# For Memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
diff --git a/glibc-2.3.supp b/glibc-2.3.supp
index 24b5ac0..2ba5c16 100644
--- a/glibc-2.3.supp
+++ b/glibc-2.3.supp
@@ -16,8 +16,8 @@
#
# For Memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
diff --git a/linux22.supp b/linux22.supp
index 3210817..1d56692 100644
--- a/linux22.supp
+++ b/linux22.supp
@@ -17,8 +17,8 @@
#
# For Memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
diff --git a/linux24.supp b/linux24.supp
index 37e5648..58a88f0 100644
--- a/linux24.supp
+++ b/linux24.supp
@@ -17,8 +17,8 @@
#
# For memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
diff --git a/memcheck/docs/mc_main.html b/memcheck/docs/mc_main.html
index 5330650..d751950 100644
--- a/memcheck/docs/mc_main.html
+++ b/memcheck/docs/mc_main.html
@@ -391,18 +391,21 @@
The Memcheck suppression types are as follows:
<code>Value1</code>,
<code>Value2</code>,
-<code>Value4</code> or
+<code>Value4</code>,
<code>Value8</code>,
+<code>Value16</code>,
meaning an uninitialised-value error when
-using a value of 1, 2, 4 or 8 bytes.
+using a value of 1, 2, 4, 8 or 16 bytes.
Or
<code>Cond</code> (or its old name, <code>Value0</code>),
meaning use of an uninitialised CPU condition code. Or:
<code>Addr1</code>,
<code>Addr2</code>,
-<code>Addr4</code> or
-<code>Addr8</code>, meaning an invalid address during a
-memory access of 1, 2, 4 or 8 bytes respectively. Or
+<code>Addr4</code>,
+<code>Addr8</code>,
+<code>Addr16</code>,
+meaning an invalid address during a
+memory access of 1, 2, 4, 8 or 16 bytes respectively. Or
<code>Param</code>,
meaning an invalid system call parameter error. Or
<code>Free</code>, meaning an invalid or mismatching free.
diff --git a/memcheck/mac_needs.c b/memcheck/mac_needs.c
index b48765c..1713bfd 100644
--- a/memcheck/mac_needs.c
+++ b/memcheck/mac_needs.c
@@ -497,6 +497,7 @@
else if (VG_STREQ(name, "Addr2")) skind = Addr2Supp;
else if (VG_STREQ(name, "Addr4")) skind = Addr4Supp;
else if (VG_STREQ(name, "Addr8")) skind = Addr8Supp;
+ else if (VG_STREQ(name, "Addr16")) skind = Addr16Supp;
else if (VG_STREQ(name, "Free")) skind = FreeSupp;
else if (VG_STREQ(name, "Leak")) skind = LeakSupp;
else
@@ -540,6 +541,7 @@
case Value2Supp: su_size = 2; goto value_case;
case Value4Supp: su_size = 4; goto value_case;
case Value8Supp: su_size = 8; goto value_case;
+ case Value16Supp:su_size =16; goto value_case;
value_case:
return (ekind == ValueErr && err_extra->size == su_size);
@@ -547,6 +549,7 @@
case Addr2Supp: su_size = 2; goto addr_case;
case Addr4Supp: su_size = 4; goto addr_case;
case Addr8Supp: su_size = 8; goto addr_case;
+ case Addr16Supp:su_size =16; goto addr_case;
addr_case:
return (ekind == AddrErr && err_extra->size == su_size);
@@ -582,6 +585,7 @@
case 2: return "Addr2";
case 4: return "Addr4";
case 8: return "Addr8";
+ case 16: return "Addr16";
default: VG_(skin_panic)("unexpected size for Addr");
}
@@ -592,6 +596,7 @@
case 2: return "Value2";
case 4: return "Value4";
case 8: return "Value8";
+ case 16: return "Value16";
default: VG_(skin_panic)("unexpected size for Value");
}
case CoreMemErr: return "CoreMem";
diff --git a/memcheck/mac_shared.h b/memcheck/mac_shared.h
index ff1cea3..2beb31e 100644
--- a/memcheck/mac_shared.h
+++ b/memcheck/mac_shared.h
@@ -80,9 +80,9 @@
/* Memory errors in core (pthread ops, signal handling) */
CoreMemSupp,
/* Use of invalid values of given size (MemCheck only) */
- Value0Supp, Value1Supp, Value2Supp, Value4Supp, Value8Supp,
+ Value0Supp, Value1Supp, Value2Supp, Value4Supp, Value8Supp, Value16Supp,
/* Invalid read/write attempt at given size */
- Addr1Supp, Addr2Supp, Addr4Supp, Addr8Supp,
+ Addr1Supp, Addr2Supp, Addr4Supp, Addr8Supp, Addr16Supp,
/* Invalid or mismatching free */
FreeSupp,
/* Overlapping blocks in memcpy(), strcpy(), etc */
diff --git a/memcheck/mc_errcontext.c b/memcheck/mc_errcontext.c
index 934ef4e..a5f1ea5 100644
--- a/memcheck/mc_errcontext.c
+++ b/memcheck/mc_errcontext.c
@@ -183,6 +183,7 @@
else if (VG_STREQ(name, "Value2")) skind = Value2Supp;
else if (VG_STREQ(name, "Value4")) skind = Value4Supp;
else if (VG_STREQ(name, "Value8")) skind = Value8Supp;
+ else if (VG_STREQ(name, "Value16")) skind = Value16Supp;
else if (VG_STREQ(name, "Overlap")) skind = OverlapSupp;
else
return False;
diff --git a/xfree-3.supp b/xfree-3.supp
index b735b73..178f9ce 100644
--- a/xfree-3.supp
+++ b/xfree-3.supp
@@ -16,8 +16,8 @@
#
# For Memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
diff --git a/xfree-4.supp b/xfree-4.supp
index 15f60da..cdf5ba3 100644
--- a/xfree-4.supp
+++ b/xfree-4.supp
@@ -16,8 +16,8 @@
#
# For memcheck, the supp_kinds are:
#
-# Param Value1 Value2 Value4 Value8
-# Free Addr1 Addr2 Addr4 Addr8
+# Param Value1 Value2 Value4 Value8 Value16
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is: