Browse Source

Make valgrind ignore the uninitialized values

Samuel Thibault 10 years ago
parent
commit
f3370dd0b9
2 changed files with 8 additions and 0 deletions
  1. 1 0
      configure.ac
  2. 7 0
      tests/disk/mem_reclaim.c

+ 1 - 0
configure.ac

@@ -307,6 +307,7 @@ AC_ARG_ENABLE(valgrind, [AS_HELP_STRING([--disable-valgrind],
 				   enable_valgrind=$enableval, enable_valgrind=yes)
 if test "$enable_valgrind" != "no" ; then
    AC_CHECK_HEADERS([valgrind/valgrind.h], [AC_DEFINE([STARPU_HAVE_VALGRIND_H], [1], [Define to 1 if you have the <valgrind/valgrind.h> header file.])])
+   AC_CHECK_HEADERS([valgrind/memcheck.h], [AC_DEFINE([STARPU_HAVE_MEMCHECK_H], [1], [Define to 1 if you have the <valgrind/memcheck.h> header file.])])
    AC_CHECK_HEADERS([valgrind/helgrind.h], [AC_DEFINE([STARPU_HAVE_HELGRIND_H], [1], [Define to 1 if you have the <valgrind/helgrind.h> header file.])])
 fi
 if test "$enable_valgrind" = "full" ; then

+ 7 - 0
tests/disk/mem_reclaim.c

@@ -31,6 +31,12 @@
 #include <common/config.h>
 #include "../helper.h"
 
+#ifdef STARPU_HAVE_MEMCHECK_H
+#include <valgrind/memcheck.h>
+#else
+#define VALGRIND_MAKE_MEM_DEFINED(addr, size) (void)0
+#endif
+
 #ifdef STARPU_HAVE_WINDOWS
 #  include <io.h>
 #  if defined(_WIN32) && !defined(__CYGWIN__)
@@ -81,6 +87,7 @@ static void zero(void *buffers[], void *args)
 	struct starpu_vector_interface *vector = (struct starpu_vector_interface *) buffers[0];
 	char *val = (char*) STARPU_VECTOR_GET_PTR(vector);
 	*val = 0;
+	VALGRIND_MAKE_MEM_DEFINED(val, STARPU_VECTOR_GET_NX(vector) * STARPU_VECTOR_GET_ELEMSIZE(vector));
 }
 
 static void inc(void *buffers[], void *args)