about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure3
-rw-r--r--mk/platform.mk9
2 files changed, 9 insertions, 3 deletions
diff --git a/configure b/configure
index f642752f9ce..8b61e34db22 100755
--- a/configure
+++ b/configure
@@ -274,7 +274,8 @@ else
 fi
 
 opt sharedstd 1 "build libstd as a shared library"
-opt valgrind 1 "run tests with valgrind"
+opt valgrind 1 "run tests with valgrind (memcheck by default)"
+opt helgrind 0 "run tests with helgrind instead of memcheck"
 opt docs     1 "build documentation"
 opt optimize 1 "build optimized rust code"
 opt optimize-cxx 1 "build optimized C++ code"
diff --git a/mk/platform.mk b/mk/platform.mk
index 2312ae9a76e..2afe8872a67 100644
--- a/mk/platform.mk
+++ b/mk/platform.mk
@@ -162,11 +162,16 @@ ifdef CFG_UNIXY
     endif
   endif
   ifdef CFG_VALGRIND
-    CFG_VALGRIND += --leak-check=full \
-                    --error-exitcode=100 \
+    CFG_VALGRIND += --error-exitcode=100 \
                     --quiet \
                     --suppressions=$(CFG_SRC_DIR)src/etc/x86.supp \
                     $(OS_SUPP)
+    ifdef CFG_ENABLE_HELGRIND
+      CFG_VALGRIND += --tool=helgrind
+    else
+      CFG_VALGRIND += --tool=memcheck \
+                      --leak-check=full
+    endif
   endif
 endif