[PATCH] gprof: Run tst-gmon-gprof-l.sh after tst-gmon-gprof.sh

Sam James sam@gentoo.org
Fri Aug 1 08:15:43 GMT 2025


"H.J. Lu" <hjl.tools@gmail.com> writes:

> Both tst-gmon-gprof.sh and tst-gmon-gprof-l.sh generate gmon.out and
> process it.  Run tst-gmon-gprof-l.sh after tst-gmon-gprof.sh to avoid
> the race condition.
>
> 	* testsuite/Makefile.am (tst-gmon-gprof-l.out): Depend on
> 	tst-gmon-gprof.out.
> 	* testsuite/Makefile.in: Regenerated.

Thanks. I've been hitting this but didn't dig into it.

>
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> ---
>  gprof/testsuite/Makefile.am | 4 +++-
>  gprof/testsuite/Makefile.in | 4 +++-
>  2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/gprof/testsuite/Makefile.am b/gprof/testsuite/Makefile.am
> index 0c80b12e6e4..7ab1c2ea6b7 100644
> --- a/gprof/testsuite/Makefile.am
> +++ b/gprof/testsuite/Makefile.am
> @@ -37,7 +37,9 @@ tst-gmon-gprof.out: tst-gmon$(EXEEXT) $(GPROF)
>  
>  check_SCRIPTS += tst-gmon-gprof-l.sh
>  check_DATA += tst-gmon-gprof-l.out
> -tst-gmon-gprof-l.out: tst-gmon$(EXEEXT) $(GPROF)
> +# Run tst-gmon-gprof-l.sh after tst-gmon-gprof.sh to avoid the race
> +# condition since they both generate gmon.out.
> +tst-gmon-gprof-l.out: tst-gmon$(EXEEXT) $(GPROF) tst-gmon-gprof.out
>  	$(srcdir)/tst-gmon-gprof-l.sh $(GPROF) tst-gmon$(EXEEXT)
>  
>  endif NATIVE
> diff --git a/gprof/testsuite/Makefile.in b/gprof/testsuite/Makefile.in
> index 2ac5f241012..ab8a2cbb16e 100644
> --- a/gprof/testsuite/Makefile.in
> +++ b/gprof/testsuite/Makefile.in
> @@ -884,7 +884,9 @@ uninstall-am:
>  @NATIVE_TRUE@	$(LINK) tst-gmon.$(OBJEXT)
>  @NATIVE_TRUE@tst-gmon-gprof.out: tst-gmon$(EXEEXT) $(GPROF)
>  @NATIVE_TRUE@	$(srcdir)/tst-gmon-gprof.sh $(GPROF) tst-gmon$(EXEEXT)
> -@NATIVE_TRUE@tst-gmon-gprof-l.out: tst-gmon$(EXEEXT) $(GPROF)
> +# Run tst-gmon-gprof-l.sh after tst-gmon-gprof.sh to avoid the race
> +# condition since they both generate gmon.out.
> +@NATIVE_TRUE@tst-gmon-gprof-l.out: tst-gmon$(EXEEXT) $(GPROF) tst-gmon-gprof.out
>  @NATIVE_TRUE@	$(srcdir)/tst-gmon-gprof-l.sh $(GPROF) tst-gmon$(EXEEXT)
>  
>  # Tell versions [3.59,3.63) of GNU make to not export all variables.


More information about the Binutils mailing list