Hi Aaron,

On Sun, 2026-05-10 at 18:37 -0400, Aaron Merey wrote:
> Add --track-destroy=yes to valgrind_cmd when --tool=helgrind.  This
> reports missing pthread_{mutex,rwlock}_destroy calls when a lock is
> initialized at the address of a live rwlock or mutex.

Nice, and we now have a buildbot that triggers this
https://builder.sourceware.org/buildbot/#/builders/elfutils-fedora-threadsafe

> diff --git a/configure.ac b/configure.ac
> index 80c7fd8b..fbe039d5 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -405,6 +405,18 @@ fi
>  AM_CONDITIONAL(USE_VALGRIND, test "$use_valgrind" = yes -o "$use_helgrind" = 
> yes)
>  AM_CONDITIONAL(USE_HELGRIND, test "$use_helgrind" = yes)
>  
> +HELGRIND_TRACK_DESTROY=
> +if test "$use_helgrind" = yes; then
> +  AC_MSG_CHECKING([whether helgrind supports --track-destroy])
> +  if valgrind --tool=helgrind --help | grep -qe "--track-destroy"; then
> +    HELGRIND_TRACK_DESTROY="--track-destroy=yes"
> +    AC_MSG_RESULT([yes])
> +  else
> +    AC_MSG_RESULT([no])
> +  fi
> +fi
> +AC_SUBST([HELGRIND_TRACK_DESTROY])
> +

OK.

>  AC_ARG_WITH([valgrind],
>  AS_HELP_STRING([--with-valgrind],[include directory for Valgrind headers]),
>  [with_valgrind_headers=$withval], [with_valgrind_headers=no])
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 9a005416..8ae7d126 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -722,7 +722,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
>  
>  
>  if USE_HELGRIND
> -valgrind_cmd=valgrind -q --tool=helgrind --error-exitcode=1 --track-fds=yes
> +valgrind_cmd=valgrind -q --tool=helgrind --error-exitcode=1 --track-fds=yes \
> +     @HELGRIND_TRACK_DESTROY@
>  else
>  if USE_VALGRIND
>  valgrind_cmd=valgrind -q --leak-check=full --error-exitcode=1 --track-fds=yes

OK.

Thanks,

Mark

Reply via email to