glibc 2.5 support. this is actually cheap so far,
given that the glibc 2.5 release tarball doesn't
have a 2.5 version - it is still labeled as 2.4.

However, I believe that they will eventually notice
this bug and fix it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6210 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/glibc-2.5.supp b/glibc-2.5.supp
new file mode 100644
index 0000000..94493a9
--- /dev/null
+++ b/glibc-2.5.supp
@@ -0,0 +1,246 @@
+
+##----------------------------------------------------------------------##
+
+# Errors to suppress by default with glibc 2.4.x
+
+# Format of this file is:
+# {
+#     name_of_suppression
+#     tool_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 Value16
+#     Free Addr1 Addr2 Addr4 Addr8 Addr16
+#     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)
+
+##----------------------------------------------------------------------##
+## Suppressions for Fedora Core 5 on ppc32/amd64 (glibc-2.3.90)
+
+{
+   Fedora-Core-5-hack1
+   Memcheck:Cond
+   fun:_dl_start
+   fun:_start
+}
+
+{
+   Fedora-Core-5-hack2
+   Memcheck:Cond
+   obj:/lib*/ld-2.3.90.so
+   obj:/lib*/ld-2.3.90.so
+   obj:/lib*/ld-2.3.90.so
+   obj:/lib*/ld-2.3.90.so
+}
+
+{
+   Fedora-Core-5-hack2a
+   Memcheck:Cond
+   obj:/lib*/ld-2.4*so
+   obj:/lib*/ld-2.4*so
+   obj:/lib*/ld-2.4*so
+   obj:/lib*/ld-2.4*so
+}
+
+{
+   Fedora-Core-5-hack3
+   Memcheck:Cond
+   obj:/lib*/ld-2.3.90.so
+   obj:/lib*/ld-2.3.90.so
+   obj:/lib*/ld-2.3.90.so
+   obj:/lib*/libc-2.3.90.so
+}
+
+{
+   Fedora-Core-5-__strcpy_chk-64bit-hack-TODO-fix-this-properly
+   Memcheck:Addr8
+   fun:__strcpy_chk
+   obj:/usr/lib64/libX11.so.6.2.0
+   obj:/usr/lib64/libX11.so.6.2.0
+}
+
+{
+   Fedora-Core-5-hack3-ld24
+   Memcheck:Cond
+   obj:/lib*/ld-2.4*so*
+   obj:/lib*/ld-2.4*so*
+   obj:/lib*/ld-2.4*so*
+}
+
+{
+   Fedora-Core-5-yet-another-ppc32-hack
+   Memcheck:Addr4
+   fun:_wordcopy_fwd_dest_aligned
+   fun:mempcpy
+   obj:/lib*/libc-2.4*so*
+}
+
+##----------------------------------------------------------------------##
+{
+   glibc-2.3.x-on-SUSE-10.1-(PPC)-1
+   Memcheck:Cond
+   fun:_dl_start_final
+   fun:_dl_start
+   fun:_start
+}
+{
+   glibc-2.3.x-on-SUSE-10.1-(PPC)-2a
+   Memcheck:Cond
+   fun:index
+   obj:*ld-2.3.*.so
+}
+{
+   glibc-2.3.x-on-SuSE-10.1-(PPC)-2b
+   Memcheck:Addr4
+   fun:index
+   fun:expand_dynamic_string_token
+}
+{
+   glibc-2.3.5-on-SuSE-10.1-(PPC)-2c
+   Memcheck:Addr4
+   fun:index
+   obj:*ld-2.3.*.so
+}
+{
+   glibc-2.3.5-on-SuSE-10.1-(PPC)-3
+   Memcheck:Addr4
+   fun:*wordcopy_fwd_dest_aligned*
+   fun:mem*cpy
+   obj:*lib*2.3.*.so
+}
+{
+   index-not-intercepted-early-enough-HACK-4
+   Memcheck:Cond
+   fun:index
+   fun:expand_dynamic_string_token
+}
+
+
+##----------------------------------------------------------------------##
+## Various structure padding things on amd64 SuSE 10.1
+##
+{
+   X11-64bit-padding-1a
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+   fun:X*
+}
+{
+   X11-64bit-padding-1b
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+   fun:_X*
+}
+{
+   X11-64bit-padding-1c
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+}
+{
+   X11-64bit-padding-1d
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/X*/libICE.so*
+   obj:/usr/X*/libICE.so*
+   obj:/usr/X*/libICE.so*
+}
+
+
+{
+   X11-64bit-padding-2a
+   Memcheck:Param
+   writev(vector[...])
+   fun:do_writev
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+}
+{
+   X11-64bit-padding-2b
+   Memcheck:Param
+   writev(vector[...])
+   fun:do_writev
+   fun:writev
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+}
+
+{
+   glibc24-64bit-padding-1a
+   Memcheck:Param
+   socketcall.sendto(msg)
+   fun:send
+   fun:get_mapping
+   fun:__nscd_get_map_ref
+   fun:nscd*
+}
+{
+   glibc24-64bit-padding-1b
+   Memcheck:Param
+   socketcall.sendto(msg)
+   fun:__sendto_nocancel
+   obj:/*libc-2.4.so
+   obj:/*libc-2.4.so
+   obj:/*libc-2.4.so
+}
+{
+   glibc24-64bit-padding-1c
+   Memcheck:Param
+   socketcall.send(msg)
+   fun:send
+   fun:__nscd_get_map_ref
+   fun:nscd_get*_r
+   fun:*nscd*
+   obj:/*libc-2.4.so
+}
+
+
+{
+   X11-64bit-padding-3a
+   Memcheck:Param
+   write(buf)
+   obj:/*libpthread-2.4.so*
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+   obj:/usr/X*/libX11.so*
+}
+
+{
+   X11-64bit-padding-4a
+   Memcheck:Param
+   socketcall.sendto(msg)
+   fun:send
+   obj:/*libc-2.4.so
+   obj:/*libc-2.4.so
+   obj:/*libc-2.4.so
+}
+{
+   X11-64bit-padding-4b
+   Memcheck:Param
+   socketcall.send(msg)
+   fun:send
+   obj:/*libc-2.4.so
+   obj:/*libc-2.4.so
+   obj:/*libc-2.4.so
+}