* move libc-specific suppressions into glibc-2.3.supp
* enhance the xfree suppressions so they match 64-bit X libraries


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3682 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/glibc-2.3.supp b/glibc-2.3.supp
index 6f2a9cf..976839d 100644
--- a/glibc-2.3.supp
+++ b/glibc-2.3.supp
@@ -381,3 +381,79 @@
    fun:__pthread_initialize_minimal
    obj:/lib64/tls/libpthread*.so*
 }
+
+
+
+##----------------------------------------------------------------------##
+# Hacks pertaining to the fact that our intercept mechanism can't
+# always get hold of strlen early enough, due to idiocy in the low
+# level memory manager.
+
+## HACK to do with strlen not being intercepted early enough
+{
+   strlen-not-intercepted-early-enough-HACK-1
+   Memcheck:Addr4
+   fun:strlen
+   fun:_dl_map_object_from_fd
+   fun:_dl_map_object
+}
+
+{
+   strlen-not-intercepted-early-enough-HACK-2
+   Memcheck:Addr4
+   fun:strlen
+   fun:decompose_rpath
+   fun:cache_rpath
+   fun:_dl_map_object
+}
+
+{
+   strlen-not-intercepted-early-enough-HACK-3
+   Memcheck:Cond
+   fun:strlen
+   fun:_dl_new_object
+   fun:_dl_map_object_from_fd
+   fun:_dl_map_object
+}
+
+{
+   strlen-not-intercepted-early-enough-HACK-4
+   Memcheck:Cond
+   fun:strlen
+   fun:expand_dynamic_string_token
+   fun:_dl_map_object
+}
+
+{
+   strlen-not-intercepted-early-enough-HACK-5
+   Memcheck:Cond
+   fun:strlen
+   fun:fillin_rpath
+   fun:_dl_init_paths
+}
+
+
+## HACK to do with index not being intercepted early enough
+{
+   index-not-intercepted-early-enough-HACK-1
+   Memcheck:Cond
+   fun:index
+   fun:expand_dynamic_string_token
+   fun:_dl_map_object
+}
+{
+   index-not-intercepted-early-enough-HACK-2
+   Memcheck:Cond
+   fun:index
+   fun:_dl_map_object
+   fun:map_doit
+   fun:_dl_catch_error
+}
+{
+   index-not-intercepted-early-enough-HACK-3
+   Memcheck:Cond
+   fun:index
+   fun:_dl_map_object
+   fun:dl_main
+   fun:_dl_sysdep_start
+}