Blob Blame History Raw
--- 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 ---------######
 #
 {
@@ -198,11 +257,6 @@
    obj:/lib*/libpthread-2.7.*so
    fun:sem_*
 }
-{
-   helgrind-glibc27-199
-   Helgrind:Race
-   fun:pthread_barrier_wait
-}
 
 ######------------ glibc-2.6 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;}