--- /dev/null
+--- 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 <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 8)
++ GLIBC_28
++ #endif
++#endif
++],
++libc="2.8")
++
+ AC_EGREP_CPP([AIX5_LIBC], [
+ #include <standards.h>
+ #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 <features.h>
++#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 <standards.h>
+ #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;}