[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