]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
glibc 2.5 support
authorDirk Mueller <daywalker@users.sourceforge.net>
Mon, 16 Oct 2006 17:19:53 +0000 (17:19 +0000)
committerDirk Mueller <daywalker@users.sourceforge.net>
Mon, 16 Oct 2006 17:19:53 +0000 (17:19 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH@6240

Makefile.am
configure.in
glibc-2.5.supp [new file with mode: 0644]

index 46ed23113fc2904e1bfdf38f24ef4dc753d6af2f..3db315621ebdb81629a725f94a62101eb2f4541a 100644 (file)
@@ -17,7 +17,7 @@ SUBDIRS = include coregrind . tests perf auxprogs $(TOOLS) helgrind docs
 DIST_SUBDIRS  = $(SUBDIRS)
 
 SUPP_FILES = \
-       glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp \
+       glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp glibc-2.5.supp \
        xfree-3.supp xfree-4.supp
 
 dist_val_DATA = $(SUPP_FILES) default.supp
index 20fb637424fa214471aae9a4a69641b829786386..dd27f114072b5ca1afe0f7874803ee539ae97439 100644 (file)
@@ -349,6 +349,16 @@ AC_EGREP_CPP([GLIBC_24], [
 ],
 glibc="2.4")
 
+AC_EGREP_CPP([GLIBC_25], [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 5)
+  GLIBC_25
+ #endif
+#endif
+],
+glibc="2.5")
+
 AC_MSG_CHECKING([the glibc version])
 
 case "${glibc}" in
@@ -370,9 +380,15 @@ case "${glibc}" in
        DEFAULT_SUPP="glibc-2.4.supp ${DEFAULT_SUPP}"
        ;;
 
+     2.5)
+       AC_MSG_RESULT(2.5 family)
+       AC_DEFINE([GLIBC_2_5], 1, [Define to 1 if you're using glibc 2.5.x])
+       DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}"
+       ;;
+
      *)
        AC_MSG_RESULT(unsupported version)
-       AC_MSG_ERROR([Valgrind requires glibc version 2.2, 2.3 or 2.4])
+       AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.5])
        ;;
 esac
 
diff --git a/glibc-2.5.supp b/glibc-2.5.supp
new file mode 100644 (file)
index 0000000..e372497
--- /dev/null
@@ -0,0 +1,200 @@
+
+##----------------------------------------------------------------------##
+
+# 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)
+
+{
+   dl-hack1
+   Memcheck:Cond
+   fun:_dl_start
+   fun:_start
+}
+
+{
+   dl-hack2
+   Memcheck:Cond
+   obj:/lib*/ld-2.5*.so
+   obj:/lib*/ld-2.5*.so
+   obj:/lib*/ld-2.5*.so
+   obj:/lib*/ld-2.5*.so
+}
+
+{
+   dl-hack3
+   Memcheck:Cond
+   obj:/lib*/ld-2.5*so*
+   obj:/lib*/ld-2.5*so*
+   obj:/lib*/ld-2.5*so*
+}
+
+##----------------------------------------------------------------------##
+{
+   glibc-2.5.x-on-SUSE-10.2-(PPC)-1
+   Memcheck:Cond
+   fun:_dl_start_final
+   fun:_dl_start
+   fun:_start
+}
+{
+   glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
+   Memcheck:Cond
+   fun:index
+   obj:*ld-2.5.*.so
+}
+{
+   glibc-2.5.x-on-SuSE-10.2-(PPC)-2b
+   Memcheck:Addr4
+   fun:index
+   fun:expand_dynamic_string_token
+}
+{
+   glibc-2.5.5-on-SuSE-10.2-(PPC)-2c
+   Memcheck:Addr4
+   fun:index
+   obj:*ld-2.5.*.so
+}
+{
+   glibc-2.3.5-on-SuSE-10.1-(PPC)-3
+   Memcheck:Addr4
+   fun:*wordcopy_fwd_dest_aligned*
+   fun:mem*cpy
+   obj:*lib*2.5.*.so
+}
+
+##----------------------------------------------------------------------##
+## Various structure padding things on SUSE 10.2
+##
+{
+   X11-64bit-padding-1a
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+   fun:X*
+}
+{
+   X11-64bit-padding-1b
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+   fun:_X*
+}
+{
+   X11-64bit-padding-1c
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+}
+{
+   X11-64bit-padding-1d
+   Memcheck:Param
+   write(buf)
+   fun:__write_nocancel
+   obj:/usr/lib*/libICE.so*
+   obj:/usr/lib*/libICE.so*
+   obj:/usr/lib*/libICE.so*
+}
+{
+   X11-64bit-padding-2a
+   Memcheck:Param
+   writev(vector[...])
+   fun:do_writev
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+}
+{
+   X11-64bit-padding-2b
+   Memcheck:Param
+   writev(vector[...])
+   fun:do_writev
+   fun:writev
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/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.5.so
+   obj:/*libc-2.5.so
+   obj:/*libc-2.5.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.5.so
+}
+
+
+{
+   X11-64bit-padding-3a
+   Memcheck:Param
+   write(buf)
+   obj:/*libpthread-2.4.so*
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+   obj:/usr/lib*/libX11.so*
+}
+
+{
+   X11-64bit-padding-4a
+   Memcheck:Param
+   socketcall.sendto(msg)
+   fun:send
+   obj:/*libc-2.5.so
+   obj:/*libc-2.5.so
+   obj:/*libc-2.5.so
+}
+{
+   X11-64bit-padding-4b
+   Memcheck:Param
+   socketcall.send(msg)
+   fun:send
+   obj:/*libc-2.5.so
+   obj:/*libc-2.5.so
+   obj:/*libc-2.5.so
+}