Qualifying suppression types with the skin name, like this:

  memcheck:Addr4

Changed the `name' need of the memcheck skin from "valgrind" to "memcheck" for
this.  But the name Valgrind will return when I print core and skin names in
the startup message.

One issue is that some skins share suppression types, eg. memcheck and
addrcheck.  Might be useful to allow multi-skin suppressions, viz:

  memcheck,addrcheck:Addr4

This won't be too hard to tack on, though.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1163 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_errcontext.c b/coregrind/vg_errcontext.c
index ac7874b..9da03fc 100644
--- a/coregrind/vg_errcontext.c
+++ b/coregrind/vg_errcontext.c
@@ -527,10 +527,12 @@
 static void load_one_suppressions_file ( Char* filename )
 {
 #  define N_BUF 200
-   Int  fd, i;
-   Bool eof;
-   Bool is_unrecognised_suppressions = False;
-   Char buf[N_BUF+1];
+   Int   fd, i;
+   Bool  eof;
+   Char  buf[N_BUF+1];
+   Char* skin_name;
+   Char* supp_name;
+
    fd = VG_(open)( filename, VKI_O_RDONLY, 0 );
    if (fd == -1) {
       VG_(message)(Vg_UserMsg, "FATAL: can't open suppressions file `%s'", 
@@ -541,7 +543,7 @@
    while (True) {
       /* Assign and initialise the two suppression halves (core and skin) */
       CoreSupp* supp;
-      supp            = VG_(arena_malloc)(VG_AR_CORE, sizeof(CoreSupp));
+      supp        = VG_(arena_malloc)(VG_AR_CORE, sizeof(CoreSupp));
       supp->count = 0;
       for (i = 0; i < VG_N_SUPP_CALLERS; i++) supp->caller[i] = NULL;
       supp->skin_supp.string = supp->skin_supp.extra = NULL;
@@ -559,29 +561,39 @@
 
       if (eof) goto syntax_error;
 
-      /* Is it a core suppression? */
-      else if (VG_(needs).core_errors && STREQ(buf, "PThread")) 
-         supp->skin_supp.skind = PThreadSupp;
-
-      /* Is it a skin suppression? */
-      else if (VG_(needs).skin_errors && 
-               SK_(recognised_suppression)(buf, &(supp->skin_supp.skind))) {
-         /* do nothing, function fills in supp->skin_supp.skind */
+      /* Check it has the "skin_name:supp_name" form (ie. look for ':') */
+      i = 0;
+      while (True) {
+         if (buf[i] == ':')  break;
+         if (buf[i] == '\0') goto syntax_error;
+         i++;
       }
-      //else goto syntax_error;
+      buf[i]    = '\0';    /* Replace ':', splitting into two strings */
+
+      skin_name = & buf[0];
+      supp_name = & buf[i+1];
+
+      /* Is it a core suppression?  (core:<supp_name>) */
+      if (VG_(needs).core_errors && STREQ(skin_name, "core"))
+      {
+         if (STREQ(supp_name, "PThread")) 
+            supp->skin_supp.skind = PThreadSupp;
+         else
+            goto syntax_error;
+      }
+
+      /* Is it a skin suppression?  (<skin_name>:<supp_name>") */
+      else if (VG_(needs).skin_errors && STREQ(skin_name, VG_(needs).name))
+      {
+         if (SK_(recognised_suppression)(supp_name, & supp->skin_supp.skind)) 
+         {
+            /* Do nothing, function fills in supp->skin_supp.skind */
+         } else
+            goto syntax_error;
+      }
+
       else {
-         /* SSS: if we don't recognise the suppression name, ignore entire
-          * entry.  Not sure if this is a good long-term approach -- makes
-          * it impossible to spot incorrect suppression names?  (apart
-          * from the warning given) */
-         if (! is_unrecognised_suppressions) {
-            is_unrecognised_suppressions = True;
-            VG_(start_msg)(Vg_DebugMsg);
-            VG_(add_to_msg)("Ignoring unrecognised suppressions: ");
-            VG_(add_to_msg)("'%s'", buf);
-         } else {
-            VG_(add_to_msg)(", '%s'", buf);
-         }
+         /* Ignore rest of suppression */
          while (True) {
             eof = VG_(get_line) ( fd, buf, N_BUF );
             if (eof) goto syntax_error;
@@ -609,10 +621,6 @@
       supp->next = vg_suppressions;
       vg_suppressions = supp;
    }
-   if (is_unrecognised_suppressions) {
-      /* Print out warning about any ignored suppressions */
-      //VG_(end_msg)();
-   }
    VG_(close)(fd);
    return;
 
diff --git a/glibc-2.1.supp b/glibc-2.1.supp
index 111293e..86efc54 100644
--- a/glibc-2.1.supp
+++ b/glibc-2.1.supp
@@ -5,22 +5,30 @@
 # Format of this file is:
 # {
 #     name_of_suppression
-#     kind: one of Param Value1 Value2 Value4 Value8
-#                   Free Addr1 Addr2 Addr4 Addr8
-#                   Cond (previously known as Value0)
-#     (if Param: name of system call param, if Free: name of free-ing fn)
+#     skin_name:supp_kind
+#     (optional extra info for some suppression types)
 #     caller0 name, or /name/of/so/file.so
 #     caller1 name, or ditto
 #     (optionally: caller2 name)
 #     (optionally: caller3 name)
 #  }
+#
+# For memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8
+#     Free Addr1 Addr2 Addr4 Addr8
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
 
 #-------- Suppress errors appearing as a result of calling
 #-------- __libc_freeres()
 
 {
    __libc_freeres/free_mem(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:free_mem
    fun:__libc_freeres
 }
@@ -30,14 +38,14 @@
 
 {
    __pthread_mutex_unlock/__register_frame_info_bases
-   PThread
+   core:PThread
    fun:__pthread_mutex_unlock
    fun:__register_frame_info_bases
 }
 
 {
    socketcall.connect(serv_addr)/__libc_connect/*(Param)
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    fun:__libc_connect
    fun:*
@@ -45,7 +53,7 @@
 
 {
    strrchr/_dl_map_object_from_fd/_dl_map_object(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:strrchr
    fun:_dl_map_object_from_fd
    fun:_dl_map_object
@@ -53,7 +61,7 @@
 
 {
    strrchr/_dl_map_object_from_fd/_dl_map_object(Value1)
-   Value1
+   memcheck:Value1
    fun:strrchr
    fun:_dl_map_object_from_fd
    fun:_dl_map_object
@@ -61,7 +69,7 @@
 
 {
    llseek(result)/__libc_lseek64/_IO_file_seek(Param)
-   Param
+   memcheck:Param
    llseek(result)
    fun:__libc_lseek64
    fun:_IO_file_seek
@@ -69,7 +77,7 @@
 
 {
    __rawmemchr/_nl_*/*locale(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__rawmemchr
    fun:_nl_*
    fun:*locale
@@ -78,20 +86,20 @@
 # new ones for RH62 ls -l 
 {
    __strchrnul/__nss_database_lookup(Cond)
-   Cond
+   memcheck:Cond
    fun:__strchrnul
    fun:__nss_database_lookup
 }
 {
    __strchrnul/__gethostbyname_r(Cond)
-   Cond
+   memcheck:Cond
    fun:__strchrnul
    fun:__gethostbyname_r
 }
 
 {
    strrchr/_dl_map*/_dl_map*(Cond)
-   Cond
+   memcheck:Cond
    fun:strrchr
    fun:_dl_map*
    fun:_dl_map*
@@ -99,7 +107,7 @@
 
 {
    strchr/dl_open_worker/_dl_catch_error(Cond)
-   Cond
+   memcheck:Cond
    fun:strchr
    fun:dl_open_worker
    fun:_dl_catch_error
@@ -107,7 +115,7 @@
 
 {
    __rawmemchr/???/__getgrgid_r(Cond)
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    fun:*
    fun:__getgrgid_r
@@ -115,7 +123,7 @@
 
 {
    __rawmemchr/_nl_*/*locale*(Cond)
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    fun:_nl_*
    fun:*locale*
@@ -123,7 +131,7 @@
 
 {
    _dl_relocate_object/dl_open_worker(Value0)
-   Cond
+   memcheck:Cond
    fun:_dl_relocate_object
    fun:dl_open_worker
 }
@@ -135,7 +143,7 @@
 
 {
    libc-2.1.3.so/libc-2.1.3.so/libc-2.1.3.so(Cond)
-   Cond
+   memcheck:Cond
    obj:*libc-2.1.3.so
    obj:*libc-2.1.3.so
    obj:*libc-2.1.3.so
@@ -143,21 +151,21 @@
 
 {
    strchr/libc-2.1.3.so(Cond)
-   Cond
+   memcheck:Cond
    fun:*strchr*
    obj:*libc-2.1.3.so
 }
 
 {
    libc-2.1.3.so/libXt.so(Cond)
-   Cond
+   memcheck:Cond
    obj:*libc-2.1.3.so
    obj:*libXt.so*
 }
 
 {
    socketcall.connect(serv_addr)/__libc_connect/*(Param)
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    obj:*libc-2.1.3.so
    obj:*libX11.so*
diff --git a/glibc-2.2.supp b/glibc-2.2.supp
index 8dd0269..92f6b28 100644
--- a/glibc-2.2.supp
+++ b/glibc-2.2.supp
@@ -6,46 +6,54 @@
 # Format of this file is:
 # {
 #     name_of_suppression
-#     kind: one of Param Value1 Value2 Value4 Value8
-#                   Free Addr1 Addr2 Addr4 Addr8
-#                   Cond (previously known as Value0)
-#     (if Param: name of system call param, if Free: name of free-ing fn)
+#     skin_name:supp_kind
+#     (optional extra info for some suppression types)
 #     caller0 name, or /name/of/so/file.so
 #     caller1 name, or ditto
 #     (optionally: caller2 name)
 #     (optionally: caller3 name)
-# }
+#  }
+#
+# For memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8
+#     Free Addr1 Addr2 Addr4 Addr8
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
 
 #-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
 {
    __stpcpy/*
-   Cond
+   memcheck:Cond
    fun:__stpcpy
    fun:*
 }
 {
    strlen/decompose_rpath/_dl_map_object
-   Cond
+   memcheck:Cond
    fun:strlen
    fun:decompose_rpath
    fun:_dl_map_object
 }
 {
    strlen/_dl_sym/dlsym_doit
-   Cond
+   memcheck:Cond
    fun:strlen
    fun:_dl_sym
    fun:dlsym_doit
 }
 {
    trecurse/__gconv_release_shlib(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:trecurse
    fun:__gconv_release_shlib
 }
 {
    do_release_shlib/trecurse(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:do_release_shlib
    fun:trecurse
 }
@@ -53,28 +61,28 @@
 #-------- R H Limbo (glibc-2.2.90) stuff
 {
    elf_dynamic_do_rela.8/_dl_relocate_object_internal
-   Cond
+   memcheck:Cond
    fun:elf_dynamic_do_rela.8
    fun:_dl_relocate_object_internal
 }
 
 {
    __strnlen/_nl_make_l10nflist(Cond)
-   Cond
+   memcheck:Cond
    fun:__strnlen
    fun:_nl_make_l10nflist
 }
 
 {
    __strnlen/*vfprintf*
-   Cond
+   memcheck:Cond
    fun:__strnlen
    fun:*vfprintf*
 }
 
 {
    libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:*libXaw.so.7.0
 }
 
@@ -83,20 +91,20 @@
 
 {
    __twalk/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__twalk
 }
 
 {
    do_release_shlib/__twalk(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:do_release_shlib
    fun:__twalk
 }
 
 {
    __libc_freeres/free_mem/free(Free)
-   Free
+   memcheck:Free
    fun:free
    fun:free_mem
    fun:__libc_freeres
@@ -105,7 +113,7 @@
 #-------- Data races
 #{
 #   _dl_lookup_symbol/fixup/_dl_runtime_resolve
-#   Eraser
+#   helgrind:Eraser
 #   fun:_dl_lookup_symbol
 #   fun:fixup
 #   fun:_dl_runtime_resolve
@@ -113,7 +121,7 @@
 #
 #{
 #   _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
-#   Eraser
+#   helgrind:Eraser
 #   fun:_dl_lookup_versioned_symbol
 #   fun:fixup
 #   fun:_dl_runtime_resolve
@@ -122,7 +130,7 @@
 #-------- Threading bugs?
 {
    pthread_error/__pthread_mutex_destroy/__closedir
-   PThread
+   core:PThread
    fun:pthread_error
    fun:__pthread_mutex_destroy
    fun:__closedir
@@ -130,7 +138,7 @@
 
 {
    pthread_error/__pthread_mutex_destroy/_IO_default_finish
-   PThread
+   core:PThread
    fun:pthread_error
    fun:__pthread_mutex_destroy
    fun:_IO_default_finish*
@@ -138,14 +146,14 @@
 
 {
    __pthread_mutex_unlock/_IO_funlockfile
-   PThread
+   core:PThread
    fun:__pthread_mutex_unlock
    fun:_IO_funlockfile
 }
 
 {
    __pthread_mutex_unlock/__register_frame_info
-   PThread
+   core:PThread
    fun:__pthread_mutex_unlock
    fun:__register_frame_info
 }
@@ -153,14 +161,14 @@
 # even more glibc suppressions ?
 {
    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
-   Cond
+   memcheck:Cond
    obj:*libc-2.2.?.so
    obj:*libc-2.2.?.so
    obj:*libc-2.2.?.so
 }
 {
    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
-   Value4
+   memcheck:Value4
    obj:*libc-2.2.?.so
    obj:*libc-2.2.?.so
    obj:*libc-2.2.?.so
@@ -170,24 +178,24 @@
 ##### suppressions for coolo
 {
    strchr/dl_open_worker(Cond)
-   Cond
+   memcheck:Cond
    fun:strchr
    fun:dl_open_worker
 }
 { 
    __rawmemchr(Cond)
-   Cond 
+   memcheck:Cond 
    fun:__rawmemchr
 } 
 { 
    _IO_vfprintf/__strnlen(Cond)
-   Cond 
+   memcheck:Cond 
    fun:__strnlen
    fun:_IO_vfprintf
 } 
 { 
    __strchrnul/gethostbyname*(Cond)
-   Cond 
+   memcheck:Cond 
    fun:__strchrnul
    fun:gethostbyname*
 } 
@@ -196,28 +204,28 @@
 ##----
 {
    strlen/*dl_map_object*(Cond)
-   Cond
+   memcheck:Cond
    fun:strlen
    fun:*dl_map_object*
 }
 
 {
    strlen/*dl_open_worker*(Cond)
-   Cond
+   memcheck:Cond
    fun:strlen
    fun:*dl_open_worker*
 }
 
 {
    *rawmemchr*/*nss*(Cond)
-   Cond
+   memcheck:Cond
    fun:*rawmemchr*
    fun:*nss*
 }
 
 {
    *strchrnul*/*nss*(Cond)
-   Cond
+   memcheck:Cond
    fun:*strchrnul*
    fun:*nss*
 }
@@ -229,13 +237,13 @@
 # two:
 {
    __mpn_construct_double/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__mpn_construct_double
    fun:*
 }
 {
    __mpn_construct_double/*(Addr8)
-   Addr8
+   memcheck:Addr8
    fun:__mpn_construct_double
    fun:*
 }
@@ -243,13 +251,13 @@
 # More of the same (gcc bug, I'm pretty sure)
 {
    __fabs/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__fabs
    fun:*
 }
 {
    __fabs/*(Addr8)
-   Addr8
+   memcheck:Addr8
    fun:__fabs
    fun:*
 }
@@ -258,7 +266,7 @@
 # Not sure what this is about ... but anyway
 {
    pthread_sighandler/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:pthread_sighandler
    fun:*
 }
@@ -268,7 +276,7 @@
 
 {
    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
-   Cond
+   memcheck:Cond
    fun:__strnlen
    fun:__argz_stringify
    fun:_nl_make_l10nflist
@@ -277,14 +285,14 @@
 #--------------
 {
    _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
-   Cond
+   memcheck:Cond
    fun:_dl_relocate_object*
    fun:dl_open_worker
    fun:_dl_catch_error*
 }
 {
    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
-   Cond
+   memcheck:Cond
    fun:_dl_relocate_object
    obj:*libc-2.2.?.so
    fun:_dl_catch_error
@@ -292,7 +300,7 @@
 
 {
    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
-   Cond
+   memcheck:Cond
    fun:strrchr
    fun:_dl_map_object_from_fd
    fun:_dl_map_object
@@ -301,14 +309,14 @@
 #-------------------
 {
    socketcall.connect(serv_addr)/__libc_connect/*
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    fun:__libc_connect
    fun:*
 }
 {
    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    obj:*libc-2.2.?.so
    obj:*libc-2.2.?.so
@@ -317,7 +325,7 @@
 #----------------------
 {
    write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
-   Param
+   memcheck:Param
    write(buf)
    fun:__libc_write
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -325,7 +333,7 @@
 }
 {
    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
-   Param
+   memcheck:Param
    write(buf)
    obj:*libc-2.2.?.so
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -342,7 +350,7 @@
 
 {
    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
-   Param
+   memcheck:Param
    writev(vector[...])
    fun:__writev
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -352,14 +360,14 @@
 #----------------
 {
    __rawmemchr/libXt.so.6.0/libXt.so.6.0
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
 }
 {
    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
-   Cond
+   memcheck:Cond
    obj:*libc-2.2.?.so
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
diff --git a/linux22.supp b/linux22.supp
index 750aa2d..fd694d3 100644
--- a/linux22.supp
+++ b/linux22.supp
@@ -7,21 +7,29 @@
 # Format of this file is:
 # {
 #     name_of_suppression
-#     kind: one of Param Value1 Value2 Value4 Value8
-#                   Free Addr1 Addr2 Addr4 Addr8
-#                   Cond (previously known as Value0)
-#     (if Param: name of system call param, if Free: name of free-ing fn)
+#     skin_name:supp_kind
+#     (optional extra info for some suppression types)
 #     caller0 name, or /name/of/so/file.so
 #     caller1 name, or ditto
 #     (optionally: caller2 name)
 #     (optionally: caller3 name)
 #  }
+#
+# For memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8
+#     Free Addr1 Addr2 Addr4 Addr8
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
 
 ##----------------------------------------------------------------------##
 
 {
    socketcall.connect(serv_addr)/__libc_connect/*(Param)
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    fun:__libc_connect
    fun:*
@@ -29,7 +37,7 @@
 
 {
    strrchr/_dl_map_object_from_fd/_dl_map_object(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:strrchr
    fun:_dl_map_object_from_fd
    fun:_dl_map_object
@@ -37,7 +45,7 @@
 
 {
    strrchr/_dl_map_object_from_fd/_dl_map_object(Value1)
-   Value1
+   memcheck:Value1
    fun:strrchr
    fun:_dl_map_object_from_fd
    fun:_dl_map_object
@@ -45,7 +53,7 @@
 
 {
    llseek(result)/__libc_lseek64/_IO_file_seek(Param)
-   Param
+   memcheck:Param
    llseek(result)
    fun:__libc_lseek64
    fun:_IO_file_seek
@@ -53,7 +61,7 @@
 
 {
    __rawmemchr/_nl_*/*locale(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__rawmemchr
    fun:_nl_*
    fun:*locale
@@ -62,20 +70,20 @@
 # new ones for RH62 ls -l 
 {
    __strchrnul/__nss_database_lookup(Cond)
-   Cond
+   memcheck:Cond
    fun:__strchrnul
    fun:__nss_database_lookup
 }
 {
    __strchrnul/__gethostbyname_r(Cond)
-   Cond
+   memcheck:Cond
    fun:__strchrnul
    fun:__gethostbyname_r
 }
 
 {
    strrchr/_dl_map*/_dl_map*(Cond)
-   Cond
+   memcheck:Cond
    fun:strrchr
    fun:_dl_map*
    fun:_dl_map*
@@ -83,7 +91,7 @@
 
 {
    strchr/dl_open_worker/_dl_catch_error(Cond)
-   Cond
+   memcheck:Cond
    fun:strchr
    fun:dl_open_worker
    fun:_dl_catch_error
@@ -91,7 +99,7 @@
 
 {
    __rawmemchr/???/__getgrgid_r(Cond)
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    fun:*
    fun:__getgrgid_r
@@ -99,7 +107,7 @@
 
 {
    __rawmemchr/_nl_*/*locale*(Cond)
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    fun:_nl_*
    fun:*locale*
@@ -107,7 +115,7 @@
 
 {
    _dl_relocate_object/dl_open_worker(Value0)
-   Cond
+   memcheck:Cond
    fun:_dl_relocate_object
    fun:dl_open_worker
 }
@@ -119,7 +127,7 @@
 
 {
    libc-2.1.3.so/libc-2.1.3.so/libc-2.1.3.so(Cond)
-   Cond
+   memcheck:Cond
    obj:*libc-2.1.3.so
    obj:*libc-2.1.3.so
    obj:*libc-2.1.3.so
@@ -127,21 +135,21 @@
 
 {
    strchr/libc-2.1.3.so(Cond)
-   Cond
+   memcheck:Cond
    fun:*strchr*
    obj:*libc-2.1.3.so
 }
 
 {
    libc-2.1.3.so/libXt.so(Cond)
-   Cond
+   memcheck:Cond
    obj:*libc-2.1.3.so
    obj:*libXt.so*
 }
 
 {
    socketcall.connect(serv_addr)/__libc_connect/*(Param)
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    obj:*libc-2.1.3.so
    obj:*libX11.so*
@@ -152,14 +160,14 @@
 
 {
    X11-Cond-0
-   Cond
+   memcheck:Cond
    obj:*libXt.so.6.0
    obj:*libXt.so.6.0
    obj:*libXt.so.6.0
 }
 {
    X11-Cond-1
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    obj:*libXt.so.6.0
    obj:*libXt.so.6.0
@@ -170,7 +178,7 @@
 
 {
    X11-Addr4-1
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libX11.so.6.1
@@ -178,7 +186,7 @@
 
 {
    X11-Addr4-2
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -186,7 +194,7 @@
 
 {
    X11-Addr4-3
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -194,7 +202,7 @@
 
 {
    X11-Addr4-4
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -202,7 +210,7 @@
 
 {
    X11-Addr4-5
-   Addr4
+   memcheck:Addr4
    fun:__rawmemchr
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -210,7 +218,7 @@
 
 {
    X11-Addr4-6
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXmu.so.6.0
    obj:/usr/X11R6/lib/libXmu.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -218,7 +226,7 @@
 
 {
    X11-Addr4-7
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1
@@ -226,7 +234,7 @@
 
 {
    X11-Param-1
-   Param
+   memcheck:Param
    write(buf)
    fun:__libc_write
    obj:/usr/X11R6/lib/libX11.so.6.1
@@ -235,7 +243,7 @@
 
 {
    X11-Addr4-8
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libXpm.so.4.11
    obj:/usr/X11R6/lib/libXpm.so.4.11
@@ -243,7 +251,7 @@
 
 {
    X11-Addr4-8
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -251,7 +259,7 @@
 
 {
    X11-Addr4-9
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXaw.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -259,7 +267,7 @@
 
 {
    X11-Addr4-10
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXaw.so.6.1
    obj:/usr/X11R6/lib/libXaw.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -267,7 +275,7 @@
 
 {
    X11-Addr4-11
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXaw.so.6.1
diff --git a/linux24.supp b/linux24.supp
index 1401a4c..4311d42 100644
--- a/linux24.supp
+++ b/linux24.supp
@@ -7,28 +7,35 @@
 # Format of this file is:
 # {
 #     name_of_suppression
-#     kind: one of Param Value1 Value2 Value4 Value8
-#                   Free Addr1 Addr2 Addr4 Addr8
-#                   Cond (previously known as Value0)
-#     (if Param: name of system call param, if Free: name of free-ing fn)
+#     skin_name:supp_kind
+#     (optional extra info for some suppression types)
 #     caller0 name, or /name/of/so/file.so
 #     caller1 name, or ditto
 #     (optionally: caller2 name)
 #     (optionally: caller3 name)
 #  }
-
+#
+# For memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8
+#     Free Addr1 Addr2 Addr4 Addr8
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
 
 # even more glibc suppressions ?
 {
    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
-   Cond
+   memcheck:Cond
    obj:*libc-2.2.4.so
    obj:*libc-2.2.4.so
    obj:*libc-2.2.4.so
 }
 {
    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
-   Value4
+   memcheck:Value4
    obj:*libc-2.2.4.so
    obj:*libc-2.2.4.so
    obj:*libc-2.2.4.so
@@ -38,25 +45,25 @@
 ##### suppressions for coolo
 {
    strchr/dl_open_worker(Cond)
-   Cond
+   memcheck:Cond
    fun:strchr
    fun:dl_open_worker
 }
 { 
    __rawmemchr/internal_getgrgid_r(Cond)
-   Cond 
+   memcheck:Cond 
    fun:__rawmemchr
    fun:internal_getgrgid_r
 } 
 { 
    _IO_vfprintf/__strnlen(Cond)
-   Cond 
+   memcheck:Cond 
    fun:__strnlen
    fun:_IO_vfprintf
 } 
 { 
    __strchrnul/gethostbyname*(Cond)
-   Cond 
+   memcheck:Cond 
    fun:__strchrnul
    fun:gethostbyname*
 } 
@@ -65,28 +72,28 @@
 ##----
 {
    strlen/*dl_map_object*(Cond)
-   Cond
+   memcheck:Cond
    fun:strlen
    fun:*dl_map_object*
 }
 
 {
    strlen/*dl_open_worker*(Cond)
-   Cond
+   memcheck:Cond
    fun:strlen
    fun:*dl_open_worker*
 }
 
 {
    *rawmemchr*/*nss*(Cond)
-   Cond
+   memcheck:Cond
    fun:*rawmemchr*
    fun:*nss*
 }
 
 {
    *strchrnul*/*nss*(Cond)
-   Cond
+   memcheck:Cond
    fun:*strchrnul*
    fun:*nss*
 }
@@ -100,13 +107,13 @@
 # two:
 {
    __mpn_construct_double/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__mpn_construct_double
    fun:*
 }
 {
    __mpn_construct_double/*(Addr8)
-   Addr8
+   memcheck:Addr8
    fun:__mpn_construct_double
    fun:*
 }
@@ -114,13 +121,13 @@
 # More of the same (gcc bug, I'm pretty sure)
 {
    __fabs/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:__fabs
    fun:*
 }
 {
    __fabs/*(Addr8)
-   Addr8
+   memcheck:Addr8
    fun:__fabs
    fun:*
 }
@@ -129,7 +136,7 @@
 # Not sure what this is about ... but anyway
 {
    pthread_sighandler/*(Addr4)
-   Addr4
+   memcheck:Addr4
    fun:pthread_sighandler
    fun:*
 }
@@ -139,7 +146,7 @@
 
 {
    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
-   Cond
+   memcheck:Cond
    fun:__strnlen
    fun:__argz_stringify
    fun:_nl_make_l10nflist
@@ -148,14 +155,14 @@
 #--------------
 {
    _dl_relocate_object/dl_open_worker/_dl_catch_error(Cond)
-   Cond
+   memcheck:Cond
    fun:_dl_relocate_object
    fun:dl_open_worker
    fun:_dl_catch_error
 }
 {
    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
-   Cond
+   memcheck:Cond
    fun:_dl_relocate_object
    obj:*libc-2.2.4.so
    fun:_dl_catch_error
@@ -163,7 +170,7 @@
 
 {
    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
-   Cond
+   memcheck:Cond
    fun:strrchr
    fun:_dl_map_object_from_fd
    fun:_dl_map_object
@@ -172,14 +179,14 @@
 #-------------------
 {
    socketcall.connect(serv_addr)/__libc_connect/*
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    fun:__libc_connect
    fun:*
 }
 {
    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
-   Param
+   memcheck:Param
    socketcall.connect(serv_addr)
    obj:*libc-2.2.4.so
    obj:*libc-2.2.4.so
@@ -187,7 +194,7 @@
 
 {
    libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -195,7 +202,7 @@
 
 {
    libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -204,7 +211,7 @@
 
 {
    libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -212,7 +219,7 @@
 
 {
    libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXmu.so.6.2
    obj:/usr/X11R6/lib/libXmu.so.6.2
    obj:/usr/X11R6/lib/libXmu.so.6.2
@@ -220,7 +227,7 @@
 
 {
    libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -228,7 +235,7 @@
 
 {
    libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Value4)
-   Value4
+   memcheck:Value4
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -236,7 +243,7 @@
 
 {
    libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -245,7 +252,7 @@
 #----------------------
 {
    write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
-   Param
+   memcheck:Param
    write(buf)
    fun:__libc_write
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -253,7 +260,7 @@
 }
 {
    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
-   Param
+   memcheck:Param
    write(buf)
    obj:*libc-2.2.4.so
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -262,7 +269,7 @@
 
 #{
 #   llseek(result)/__libc_lseek64/_IO_file_seek(Param)
-#   Param
+#   memcheck:Param
 #   llseek(result)
 #   fun:__libc_lseek64
 #   fun:_IO_file_seek
@@ -270,7 +277,7 @@
 
 {
    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
-   Param
+   memcheck:Param
    writev(vector[...])
    fun:__writev
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -280,14 +287,14 @@
 #----------------
 {
    __rawmemchr/libXt.so.6.0/libXt.so.6.0
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
 }
 {
    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
-   Cond
+   memcheck:Cond
    obj:*libc-2.2.4.so
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index c2d3785..6df6993 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -2351,7 +2351,7 @@
 
 void SK_(pre_clo_init)(VgNeeds* needs, VgTrackEvents* track)
 {
-   needs->name                    = "valgrind";
+   needs->name                    = "memcheck";
    needs->description             = "a memory error detector";
 
    needs->core_errors             = True;
diff --git a/memcheck/tests/supp.supp b/memcheck/tests/supp.supp
index 477c6c4..916b353 100644
--- a/memcheck/tests/supp.supp
+++ b/memcheck/tests/supp.supp
@@ -1,6 +1,6 @@
 {
   name_of_this_suppression
-  Cond
+  memcheck:Cond
   obj:*supp1
   fun:__libc_start_main
 }
diff --git a/xfree-3.supp b/xfree-3.supp
index ab1efae..eb7e8d9 100644
--- a/xfree-3.supp
+++ b/xfree-3.supp
@@ -6,28 +6,36 @@
 # Format of this file is:
 # {
 #     name_of_suppression
-#     kind: one of Param Value1 Value2 Value4 Value8
-#                   Free Addr1 Addr2 Addr4 Addr8
-#                   Cond (previously known as Value0)
-#     (if Param: name of system call param, if Free: name of free-ing fn)
+#     skin_name:supp_kind
+#     (optional extra info for some suppression types)
 #     caller0 name, or /name/of/so/file.so
 #     caller1 name, or ditto
 #     (optionally: caller2 name)
 #     (optionally: caller3 name)
 #  }
+#
+# For memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8
+#     Free Addr1 Addr2 Addr4 Addr8
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
 
 ##----------------------------------------------------------------------##
 
 {
    X11-Cond-0
-   Cond
+   memcheck:Cond
    obj:*libXt.so.6.0
    obj:*libXt.so.6.0
    obj:*libXt.so.6.0
 }
 {
    X11-Cond-1
-   Cond
+   memcheck:Cond
    fun:__rawmemchr
    obj:*libXt.so.6.0
    obj:*libXt.so.6.0
@@ -38,7 +46,7 @@
 
 {
    X11-Addr4-1
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libX11.so.6.1
@@ -46,7 +54,7 @@
 
 {
    X11-Addr4-2
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -54,7 +62,7 @@
 
 {
    X11-Addr4-3
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -62,7 +70,7 @@
 
 {
    X11-Addr4-4
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -70,7 +78,7 @@
 
 {
    X11-Addr4-5
-   Addr4
+   memcheck:Addr4
    fun:__rawmemchr
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -78,7 +86,7 @@
 
 {
    X11-Addr4-6
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXmu.so.6.0
    obj:/usr/X11R6/lib/libXmu.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -86,7 +94,7 @@
 
 {
    X11-Addr4-7
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1
@@ -94,7 +102,7 @@
 
 {
    X11-Param-1
-   Param
+   memcheck:Param
    write(buf)
    fun:__libc_write
    obj:/usr/X11R6/lib/libX11.so.6.1
@@ -103,7 +111,7 @@
 
 {
    X11-Addr4-8
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libX11.so.6.1
    obj:/usr/X11R6/lib/libXpm.so.4.11
    obj:/usr/X11R6/lib/libXpm.so.4.11
@@ -111,7 +119,7 @@
 
 {
    X11-Addr4-8
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -119,7 +127,7 @@
 
 {
    X11-Addr4-9
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXaw.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -127,7 +135,7 @@
 
 {
    X11-Addr4-10
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXaw.so.6.1
    obj:/usr/X11R6/lib/libXaw.so.6.1
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -135,7 +143,7 @@
 
 {
    X11-Addr4-11
-   Addr4
+   memcheck:Addr4
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXaw.so.6.1
diff --git a/xfree-4.supp b/xfree-4.supp
index 2ac9dc8..35ada35 100644
--- a/xfree-4.supp
+++ b/xfree-4.supp
@@ -6,20 +6,28 @@
 # Format of this file is:
 # {
 #     name_of_suppression
-#     kind: one of Param Value1 Value2 Value4 Value8
-#                   Free Addr1 Addr2 Addr4 Addr8
-#                   Cond (previously known as Value0)
-#     (if Param: name of system call param, if Free: name of free-ing fn)
+#     skin_name:supp_kind
+#     (optional extra info for some suppression types)
 #     caller0 name, or /name/of/so/file.so
 #     caller1 name, or ditto
 #     (optionally: caller2 name)
 #     (optionally: caller3 name)
 #  }
+#
+# For memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8
+#     Free Addr1 Addr2 Addr4 Addr8
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
 
 
 {
    libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libX11.so.6.2
@@ -27,7 +35,7 @@
 
 {
    libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -36,7 +44,7 @@
 
 {
    libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -44,7 +52,7 @@
 
 {
    libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXmu.so.6.2
    obj:/usr/X11R6/lib/libXmu.so.6.2
    obj:/usr/X11R6/lib/libXmu.so.6.2
@@ -52,7 +60,7 @@
 
 {
    libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXt.so.6.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -60,7 +68,7 @@
 
 {
    libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Value4)
-   Value4
+   memcheck:Value4
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -68,7 +76,7 @@
 
 {
    libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXt.so.6.0
@@ -76,7 +84,7 @@
 
 {
    libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -84,7 +92,7 @@
 
 {
    libX11.so.6.2/libXaw.so.7.0/libXaw.so.7.0(Cond)
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libX11.so.6.2
    obj:/usr/X11R6/lib/libXaw.so.7.0
    obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -92,7 +100,7 @@
 
 {
    libXpm.so.4.11/libXpm.so.4.11/libXpm.so.4.11
-   Cond
+   memcheck:Cond
    obj:/usr/X11R6/lib/libXpm.so.4.11
    obj:/usr/X11R6/lib/libXpm.so.4.11
    obj:/usr/X11R6/lib/libXpm.so.4.11