From: Dirk Mueller Date: Fri, 25 Apr 2008 11:33:30 +0000 (+0000) Subject: glibc 2.8 has the very same checking reports as did X-Git-Tag: svn/VALGRIND_3_4_0~707 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=57f602c130354c5ab2628ddde44975d167be69ef;p=thirdparty%2Fvalgrind.git glibc 2.8 has the very same checking reports as did glibc 2.7 have.. as did glibc 2.6, as did glibc 2.5, as did glibc 2.4 as did glibc 2.4. so consolidate into one suppression file git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7915 --- diff --git a/configure.in b/configure.in index 2978dfa74d..c3fd234d5e 100644 --- a/configure.in +++ b/configure.in @@ -398,7 +398,7 @@ DEFAULT_SUPP="" AC_SUBST(DEFAULT_SUPP) -libc="" +GLIBC_VERSION="" AC_EGREP_CPP([GLIBC_22], [ #include @@ -408,7 +408,7 @@ AC_EGREP_CPP([GLIBC_22], [ #endif #endif ], -libc="2.2") +GLIBC_VERSION="2.2") AC_EGREP_CPP([GLIBC_23], [ #include @@ -418,7 +418,7 @@ AC_EGREP_CPP([GLIBC_23], [ #endif #endif ], -libc="2.3") +GLIBC_VERSION="2.3") AC_EGREP_CPP([GLIBC_24], [ #include @@ -428,7 +428,7 @@ AC_EGREP_CPP([GLIBC_24], [ #endif #endif ], -libc="2.4") +GLIBC_VERSION="2.4") AC_EGREP_CPP([GLIBC_25], [ #include @@ -438,7 +438,7 @@ AC_EGREP_CPP([GLIBC_25], [ #endif #endif ], -libc="2.5") +GLIBC_VERSION="2.5") AC_EGREP_CPP([GLIBC_26], [ #include @@ -448,7 +448,7 @@ AC_EGREP_CPP([GLIBC_26], [ #endif #endif ], -libc="2.6") +GLIBC_VERSION="2.6") AC_EGREP_CPP([GLIBC_27], [ #include @@ -458,7 +458,17 @@ AC_EGREP_CPP([GLIBC_27], [ #endif #endif ], -libc="2.7") +GLIBC_VERSION="2.7") + +AC_EGREP_CPP([GLIBC_28], [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 8) + GLIBC_28 + #endif +#endif +], +GLIBC_VERSION="2.8") AC_EGREP_CPP([AIX5_LIBC], [ #include @@ -466,11 +476,11 @@ AC_EGREP_CPP([AIX5_LIBC], [ AIX5_LIBC #endif ], -libc="aix5") +GLIBC_VERSION="aix5") -AC_MSG_CHECKING([the libc version]) +AC_MSG_CHECKING([the GLIBC_VERSION version]) -case "${libc}" in +case "${GLIBC_VERSION}" in 2.2) AC_MSG_RESULT(2.2 family) AC_DEFINE([GLIBC_2_2], 1, [Define to 1 if you're using glibc 2.2.x]) @@ -512,10 +522,18 @@ case "${libc}" in 2.7) AC_MSG_RESULT(2.7 family) AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.x]) - DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ;; + 2.8) + AC_MSG_RESULT(2.8 family) + AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.x]) + DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; + aix5) AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3) AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3]) @@ -524,11 +542,12 @@ case "${libc}" in *) AC_MSG_RESULT(unsupported version) - AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.7]) - AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 libc]) + AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.8]) + AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION]) ;; esac +AC_SUBST(GLIBC_VERSION) # We don't know how to detect the X client library version # (detecting the server version is easy, but no help). So we @@ -1057,6 +1076,7 @@ AC_OUTPUT( Makefile valgrind.spec valgrind.pc + glibc-2.X.supp docs/Makefile docs/lib/Makefile docs/images/Makefile diff --git a/glibc-2.X.supp.in b/glibc-2.X.supp.in new file mode 100644 index 0000000000..a0475d0c55 --- /dev/null +++ b/glibc-2.X.supp.in @@ -0,0 +1,196 @@ + +##----------------------------------------------------------------------## + +# Errors to suppress by default with glibc @GLIBC_VERSION@.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 Jump +# Free Addr1 Addr2 Addr4 Addr8 Addr16 +# Cond (previously known as Value0) +# +# and the optional extra info is: +# if Param: name of system call param + +{ + dl-hack1 + Memcheck:Cond + fun:_dl_start + fun:_start +} + +{ + dl-hack2 + Memcheck:Cond + obj:/lib*/ld-@GLIBC_VERSION@*.so + obj:/lib*/ld-@GLIBC_VERSION@*.so + obj:/lib*/ld-@GLIBC_VERSION@*.so + obj:/lib*/ld-@GLIBC_VERSION@*.so +} + +{ + dl-hack3-1 + Memcheck:Cond + obj:/lib*/ld-@GLIBC_VERSION@*.so* + obj:/lib*/ld-@GLIBC_VERSION@*.so* + obj:/lib*/ld-@GLIBC_VERSION@*.so* +} +{ + dl-hack3-2 + Memcheck:Cond + obj:/lib*/ld-@GLIBC_VERSION@*.so* + obj:/lib*/ld-@GLIBC_VERSION@*.so* + obj:/lib*/libc-@GLIBC_VERSION@*.so* +} + +{ + dl-hack4-64bit-1 + Memcheck:Addr8 + obj:/lib64/ld-@GLIBC_VERSION@*.so* + obj:/lib64/ld-@GLIBC_VERSION@*.so* + obj:/lib64/ld-@GLIBC_VERSION@*.so* +} +{ + dl-hack4-64bit-2 + Memcheck:Addr8 + obj:/lib64/ld-@GLIBC_VERSION@*.so* + obj:/lib64/ld-@GLIBC_VERSION@*.so* + obj:/lib64/libc-@GLIBC_VERSION@*.so* +} +{ + dl-hack4-64bit-3 + Memcheck:Addr8 + obj:/lib64/ld-@GLIBC_VERSION@*.so* + obj:/lib64/ld-@GLIBC_VERSION@*.so* + obj:/lib64/libdl-@GLIBC_VERSION@*.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-@GLIBC_VERSION@.*.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-@GLIBC_VERSION@.*.so +} +{ + glibc-2.3.5-on-SuSE-10.1-(PPC)-3 + Memcheck:Addr4 + fun:*wordcopy_fwd_dest_aligned* + fun:mem*cpy + obj:*lib*@GLIBC_VERSION@.*.so +} + +{ + glibc-@GLIBC_VERSION@-on-SUSE-10.3-(x86) + Memcheck:Addr4 + obj:/lib/ld-@GLIBC_VERSION@*.so + obj:/lib/ld-@GLIBC_VERSION@*.so + obj:/lib/ld-@GLIBC_VERSION@*.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-@GLIBC_VERSION@.so + obj:/*libc-@GLIBC_VERSION@.so + obj:/*libc-@GLIBC_VERSION@.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-@GLIBC_VERSION@.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-@GLIBC_VERSION@.so + obj:/*libc-@GLIBC_VERSION@.so + obj:/*libc-@GLIBC_VERSION@.so +} +{ + X11-64bit-padding-4b + Memcheck:Param + socketcall.send(msg) + fun:send + obj:/*libc-@GLIBC_VERSION@.so + obj:/*libc-@GLIBC_VERSION@.so + obj:/*libc-@GLIBC_VERSION@.so +} + +##----------------------------------------------------------------------## +# MontaVista Linux 4.0.1 on ppc32 +{ + MVL-401-linuxthreads-pthread_create + Memcheck:Param + write(buf) + fun:pthread_create +} +{ + MVL-401-linuxthreads-pthread_create + Memcheck:Param + write(buf) + obj:/lib/libpthread-0.10.so + fun:pthread_create +}