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