--- valgrind-3.3.0/configure.in.jj 2008-04-16 05:48:10.000000000 -0400 +++ valgrind-3.3.0/configure.in 2008-04-16 05:54:04.000000000 -0400 @@ -471,6 +471,16 @@ AC_EGREP_CPP([GLIBC_27], [ ], libc="2.7") +AC_EGREP_CPP([GLIBC_28], [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 8) + GLIBC_28 + #endif +#endif +], +libc="2.8") + AC_EGREP_CPP([AIX5_LIBC], [ #include #if defined(_AIXVERSION_510) || defined(_AIXVERSION_520) || defined(_AIXVERSION_530) @@ -521,6 +531,12 @@ case "${libc}" in DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}" DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ;; + 2.8) + AC_MSG_RESULT(2.8 family) + AC_DEFINE([GLIBC_2_8], 1, [Define to 1 if you're using glibc 2.8.x]) + DEFAULT_SUPP="glibc-2.8.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.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]) @@ -529,7 +545,7 @@ case "${libc}" in *) AC_MSG_RESULT(unsupported version) - AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.7]) + AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.8]) AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 libc]) ;; esac --- valgrind-3.3.0/glibc-2.8.supp.jj 2008-04-16 05:50:23.000000000 -0400 +++ valgrind-3.3.0/glibc-2.8.supp 2008-04-16 05:50:35.000000000 -0400 @@ -0,0 +1,37 @@ + +# Errors to suppress by default with glibc 2.8.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-hack3-1 + Memcheck:Cond + obj:/lib*/ld-2.8*.so* + obj:/lib*/ld-2.8*.so* + obj:/lib*/ld-2.8*.so* +} --- valgrind-3.3.0/glibc-2.34567-NPTL-helgrind.supp.jj 2008-04-16 05:48:10.000000000 -0400 +++ valgrind-3.3.0/glibc-2.34567-NPTL-helgrind.supp 2008-04-16 05:51:59.000000000 -0400 @@ -1,12 +1,12 @@ ##----------------------------------------------------------------------## # Suppressions for the Helgrind tool when using -# a glibc-2.{2,3,4,5,6} system +# a glibc-2.{2,3,4,5,6,7,8} system ######------------ glibc-2.5 specific ------------###### # ## NB. This is the "reference set". Derived sets for -## glibc 2.7, 2.6, 2.4 and 2.3 follow below. +## glibc 2.8, 2.7, 2.6, 2.4 and 2.3 follow below. { helgrind-glibc25-001 Helgrind:Race @@ -145,6 +145,65 @@ fun:start_thread } +######------------ glibc-2.8 specific ---------###### +# +{ + helgrind-glibc28-001 + Helgrind:Race + obj:/lib*/ld-2.8.*so + obj:/lib*/ld-2.8.*so +} +{ + helgrind-glibc28-003 + Helgrind:Race + obj:/lib*/ld-2.8.*so + obj:/lib*/libc-2.8.*so + obj:/lib*/libc-2.8.*so +} +{ + helgrind-glibc28-004 + Helgrind:Race + obj:/lib*/libc-2.8.*so + obj:/lib*/libc-2.8.*so +} +{ + helgrind-glibc28-005 + Helgrind:Race + obj:/lib*/libpthread-2.8.*so + obj:/lib*/libpthread-2.8.*so + obj:/lib*/libpthread-2.8.*so +} +{ + helgrind-glibc28-011 + Helgrind:Race + obj:/lib*/libc-2.8.*so + obj:/lib*/libpthread-2.8.*so +} + +{ + helgrind-glibc28-101 + Helgrind:Race + obj:/lib*/libpthread-2.8.*so + fun:pthread_* +} +{ + helgrind-glibc28-102 + Helgrind:Race + fun:mythread_wrapper + obj:/lib*/libpthread-2.8.*so +} +{ + helgrind-glibc28-107 + Helgrind:Race + obj:/lib*/libpthread-2.8.*so + fun:sem_* +} +{ + helgrind-glibc28-199 + Helgrind:Race + fun:pthread_barrier_wait +} + ######------------ glibc-2.7 specific ---------###### # { --- valgrind-3.3.0/configure.jj 2008-04-16 05:48:10.000000000 -0400 +++ valgrind-3.3.0/configure 2008-04-16 05:54:08.000000000 -0400 @@ -4624,6 +4624,28 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 8) + GLIBC_28 + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "GLIBC_28" >/dev/null 2>&1; then + libc="2.8" +fi +rm -f conftest* + + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #if defined(_AIXVERSION_510) || defined(_AIXVERSION_520) || defined(_AIXVERSION_530) AIX5_LIBC @@ -4710,6 +4732,17 @@ _ACEOF DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}" DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ;; + 2.8) + echo "$as_me:$LINENO: result: 2.8 family" >&5 +echo "${ECHO_T}2.8 family" >&6 + +cat >>confdefs.h <<\_ACEOF +#define GLIBC_2_8 1 +_ACEOF + + DEFAULT_SUPP="glibc-2.8.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + ;; aix5) echo "$as_me:$LINENO: result: AIX 5.1 or 5.2 or 5.3" >&5 echo "${ECHO_T}AIX 5.1 or 5.2 or 5.3" >&6 @@ -4724,8 +4757,8 @@ _ACEOF *) 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.7" >&5 -echo "$as_me: error: Valgrind requires glibc version 2.2 - 2.7" >&2;} + { { echo "$as_me:$LINENO: error: Valgrind requires glibc version 2.2 - 2.8" >&5 +echo "$as_me: error: Valgrind requires glibc version 2.2 - 2.8" >&2;} { (exit 1); exit 1; }; } { { echo "$as_me:$LINENO: error: or AIX 5.1 or 5.2 or 5.3 libc" >&5 echo "$as_me: error: or AIX 5.1 or 5.2 or 5.3 libc" >&2;}