--- valgrind-3.2.3/glibc-2.5.supp.jj 2007-01-07 06:39:15.000000000 +0100 +++ valgrind-3.2.3/glibc-2.5.supp 2007-06-27 16:10:34.000000000 +0200 @@ -1,7 +1,7 @@ ##----------------------------------------------------------------------## -# Errors to suppress by default with glibc 2.4.x +# Errors to suppress by default with glibc 2.5.x # Format of this file is: # { @@ -43,9 +43,9 @@ { dl-hack3 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 + obj:/lib*/ld-2.5*.so + obj:/lib*/ld-2.5*.so } ##----------------------------------------------------------------------## @@ -60,7 +60,7 @@ glibc-2.5.x-on-SUSE-10.2-(PPC)-2a Memcheck:Cond fun:index - obj:*ld-2.5.*.so + obj:*ld-2.5*.so } { glibc-2.5.x-on-SuSE-10.2-(PPC)-2b @@ -72,14 +72,14 @@ glibc-2.5.5-on-SuSE-10.2-(PPC)-2c Memcheck:Addr4 fun:index - obj:*ld-2.5.*.so + 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 + obj:*lib*2.5*.so } ##----------------------------------------------------------------------## @@ -154,9 +154,9 @@ Memcheck:Param socketcall.sendto(msg) fun:__sendto_nocancel - obj:/*libc-2.5.so - obj:/*libc-2.5.so - obj:/*libc-2.5.so + obj:/*libc-2.5*.so + obj:/*libc-2.5*.so + obj:/*libc-2.5*.so } { glibc24-64bit-padding-1c @@ -166,7 +166,7 @@ fun:__nscd_get_map_ref fun:nscd_get*_r fun:*nscd* - obj:/*libc-2.5.so + obj:/*libc-2.5*.so } @@ -174,7 +174,7 @@ X11-64bit-padding-3a Memcheck:Param write(buf) - obj:/*libpthread-2.4.so* + obj:/*libpthread-2.5*.so* obj:/usr/lib*/libX11.so* obj:/usr/lib*/libX11.so* obj:/usr/lib*/libX11.so* @@ -185,18 +185,18 @@ Memcheck:Param socketcall.sendto(msg) fun:send - obj:/*libc-2.5.so - obj:/*libc-2.5.so - obj:/*libc-2.5.so + 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 + obj:/*libc-2.5*.so + obj:/*libc-2.5*.so + obj:/*libc-2.5*.so } ##----------------------------------------------------------------------## --- valgrind-3.2.3/configure.in.jj 2007-06-27 12:22:59.000000000 +0200 +++ valgrind-3.2.3/configure.in 2007-06-27 16:03:45.000000000 +0200 @@ -361,6 +361,16 @@ AC_EGREP_CPP([GLIBC_25], [ ], glibc="2.5") +AC_EGREP_CPP([GLIBC_26], [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 6) + GLIBC_26 + #endif +#endif +], +glibc="2.6") + AC_MSG_CHECKING([the glibc version]) case "${glibc}" in @@ -388,9 +398,15 @@ case "${glibc}" in DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}" ;; + 2.6) + AC_MSG_RESULT(2.6 family) + AC_DEFINE([GLIBC_2_6], 1, [Define to 1 if you're using glibc 2.6.x]) + DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}" + ;; + *) AC_MSG_RESULT(unsupported version) - AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.5]) + AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.6]) ;; esac --- valgrind-3.2.3/config.h.in.jj 2007-01-02 15:55:38.000000000 +0100 +++ valgrind-3.2.3/config.h.in 2007-06-27 16:08:37.000000000 +0200 @@ -18,6 +18,9 @@ /* Define to 1 if you're using glibc 2.5.x */ #undef GLIBC_2_5 +/* Define to 1 if you're using glibc 2.6.x */ +#undef GLIBC_2_6 + /* Define to 1 if as supports mtocrf/mfocrf. */ #undef HAVE_AS_PPC_MFTOCRF --- valgrind-3.2.3/configure.jj 2007-06-27 12:22:59.000000000 +0200 +++ valgrind-3.2.3/configure 2007-06-27 16:08:16.000000000 +0200 @@ -4391,8 +4391,30 @@ fi rm -f conftest* -echo "$as_me:$LINENO: checking the glibc version" >&5 -echo $ECHO_N "checking the glibc version... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 6) + GLIBC_26 + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "GLIBC_26" >/dev/null 2>&1; then + glibc="2.6" +fi +rm -f conftest* + + +{ echo "$as_me:$LINENO: checking the glibc version" >&5 +echo $ECHO_N "checking the glibc version... $ECHO_C" >&6; } case "${glibc}" in 2.2) @@ -4439,11 +4461,22 @@ _ACEOF DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}" ;; + 2.6) + echo "$as_me:$LINENO: result: 2.6 family" >&5 +echo "${ECHO_T}2.6 family" >&6 + +cat >>confdefs.h <<\_ACEOF +#define GLIBC_2_6 1 +_ACEOF + + DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}" + ;; + *) - echo "$as_me:$LINENO: result: unsupported version" >&5 -echo "${ECHO_T}unsupported version" >&6 - { { echo "$as_me:$LINENO: error: Valgrind requires glibc version 2.2 - 2.5" >&5 -echo "$as_me: error: Valgrind requires glibc version 2.2 - 2.5" >&2;} + { echo "$as_me:$LINENO: result: unsupported version" >&5 +echo "${ECHO_T}unsupported version" >&6; } + { { echo "$as_me:$LINENO: error: Valgrind requires glibc version 2.2 - 2.6" >&5 +echo "$as_me: error: Valgrind requires glibc version 2.2 - 2.6" >&2;} { (exit 1); exit 1; }; } ;; esac --- valgrind-3.2.3/glibc-2.6.supp.jj 2007-06-27 16:09:55.000000000 +0200 +++ valgrind-3.2.3/glibc-2.6.supp 2007-06-27 16:10:20.000000000 +0200 @@ -0,0 +1,216 @@ + +##----------------------------------------------------------------------## + +# Errors to suppress by default with glibc 2.6.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.6*.so + obj:/lib*/ld-2.6*.so + obj:/lib*/ld-2.6*.so + obj:/lib*/ld-2.6*.so +} + +{ + dl-hack3 + Memcheck:Cond + obj:/lib*/ld-2.6*.so + obj:/lib*/ld-2.6*.so + obj:/lib*/ld-2.6*.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.6*.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.6*.so +} +{ + glibc-2.3.5-on-SuSE-10.1-(PPC)-3 + Memcheck:Addr4 + fun:*wordcopy_fwd_dest_aligned* + fun:mem*cpy + obj:*lib*2.6*.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.6*.so + obj:/*libc-2.6*.so + obj:/*libc-2.6*.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.6*.so +} + + +{ + X11-64bit-padding-3a + Memcheck:Param + write(buf) + obj:/*libpthread-2.6*.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.6*.so + obj:/*libc-2.6*.so + obj:/*libc-2.6*.so +} +{ + X11-64bit-padding-4b + Memcheck:Param + socketcall.send(msg) + fun:send + obj:/*libc-2.6*.so + obj:/*libc-2.6*.so + obj:/*libc-2.6*.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 +}