Added support for Value16 and Addr16 error suppressions.
authornjn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Thu, 12 Jun 2003 09:58:41 +0000 (09:58 +0000)
committernjn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Thu, 12 Jun 2003 09:58:41 +0000 (09:58 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1677 a5019735-40e9-0310-863c-91ae7b9d1cf9

glibc-2.1.supp
glibc-2.2.supp
glibc-2.3.supp
linux22.supp
linux24.supp
memcheck/docs/mc_main.html
memcheck/mac_needs.c
memcheck/mac_shared.h
memcheck/mc_errcontext.c
xfree-3.supp
xfree-4.supp

index d81340ddc4f6a6ba6997814e1550644db6237046..64e809b1e4922c359b6c9694cd719a3bfa14c78f 100644 (file)
@@ -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:
index 52de8196090b3bce00d55fe6407fd671185acbd4..189aa65bfce0c75304e5b16cfa3ae96a8b4f5efb 100644 (file)
@@ -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:
index 24b5ac05010fd7ed5fb9a73e6a0223cf7acf622b..2ba5c1665ffdc0f3252b1673d1b33c4883b42089 100644 (file)
@@ -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:
index 3210817b9fdab98b63975a4ec26974e59dd19df7..1d566928efa20c62f63e61953786f466fa71c99c 100644 (file)
@@ -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:
index 37e56481b7ecf6c4eb4aaf04a1137d0b7b271b33..58a88f05b9842d4c449d6cd2c1313952f54f20b4 100644 (file)
@@ -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:
index 5330650a9060233fd4745e3c9d24c696f86d05c7..d7519506f11fb5f8ea53aa3badb80181ba84b6ce 100644 (file)
@@ -391,18 +391,21 @@ Memcheck,Addrcheck:suppression_type
 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.
index b48765c56fc55168f58836e76c8e7f66335b868c..1713bfd789618a8c8befe77ecdadc8d86963ffca 100644 (file)
@@ -497,6 +497,7 @@ Bool MAC_(shared_recognised_suppression) ( Char* name, Supp* su )
    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 @@ Bool SK_(error_matches_suppression)(Error* err, Supp* su)
       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 @@ Bool SK_(error_matches_suppression)(Error* err, Supp* su)
       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 @@ Char* SK_(get_error_name) ( Error* err )
       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 @@ Char* SK_(get_error_name) ( Error* err )
       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";
index ff1cea3f4427440c5e73c38db8d0048a07311f54..2beb31e0430563023cc3cc1ecbebde48118cdd86 100644 (file)
@@ -80,9 +80,9 @@ typedef
       /* 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 */
index 934ef4e22f6a86fe2a87d4006abd1a6e2e0ae975..a5f1ea58fbeceae55fb6378b32762d25661a1eed 100644 (file)
@@ -183,6 +183,7 @@ Bool SK_(recognised_suppression) ( Char* name, Supp* su )
    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;
index b735b730e75a2efa224b426b8cf194839dded13f..178f9ce26c5a4e89822cefe0e2b7eb280ad5b6e5 100644 (file)
@@ -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:
index 15f60da644a2b6b51210f04a0a0a7293f68f92ee..cdf5ba34d75c5a68c3df11e1949270f318a1ee21 100644 (file)
@@ -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: