aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2025-03-07 13:55:06 +0800
committerH.J. Lu <hjl.tools@gmail.com>2025-03-07 15:05:57 +0800
commitbdf94855597d876836a92ef18d2b6e9290e4e1c0 (patch)
treee2573ff472e8435831cdc838f53c5eccc7741857
parent4295841be4392fcff33a1efee6d4345063021e6b (diff)
downloadbinutils-bdf94855597d876836a92ef18d2b6e9290e4e1c0.zip
binutils-bdf94855597d876836a92ef18d2b6e9290e4e1c0.tar.gz
binutils-bdf94855597d876836a92ef18d2b6e9290e4e1c0.tar.bz2
gprof: Update PR gprof/32764 test
1. Remove gmon.out first before generating it in the configure check. 2. Make tst-gmon-gprof.out depend on the gprof binary. 3. Check that gmon.out is non-empty. 4. Don't include <sys/cdefs.h> in tst-gmon.c. PR gprof/32764 * configure.ac: Remove gmon.out first. * configure: Regenerated. * testsuite/Makefile.am (tst-gmon-gprof.out): Depend on $(GPROF). * testsuite/Makefile.in: Regenerated. * testsuite/tst-gmon-gprof.sh: Check that gmon.out is non-empty. * testsuite/tst-gmon.c: Don't include <sys/cdefs.h>. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
-rwxr-xr-xgprof/configure1
-rw-r--r--gprof/configure.ac1
-rw-r--r--gprof/testsuite/Makefile.am2
-rw-r--r--gprof/testsuite/Makefile.in2
-rwxr-xr-xgprof/testsuite/tst-gmon-gprof.sh2
-rw-r--r--gprof/testsuite/tst-gmon.c2
6 files changed, 5 insertions, 5 deletions
diff --git a/gprof/configure b/gprof/configure
index ad2033c..b830da0 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -13973,6 +13973,7 @@ else
gprof_cv_sys_native=no
if test x"${host}" = x"${target}" \
&& ${CC-cc} -O2 -pg -o tst-gmon $srcdir/testsuite/tst-gmon.c; then
+ rm -f gmon.out
./tst-gmon
if test -s gmon.out; then
gprof_cv_sys_native=yes
diff --git a/gprof/configure.ac b/gprof/configure.ac
index 37eff97..f74da7d 100644
--- a/gprof/configure.ac
+++ b/gprof/configure.ac
@@ -78,6 +78,7 @@ AC_CACHE_CHECK([whether gprof tests can run],
gprof_cv_sys_native=no
if test x"${host}" = x"${target}" \
&& ${CC-cc} -O2 -pg -o tst-gmon $srcdir/testsuite/tst-gmon.c; then
+ rm -f gmon.out
./tst-gmon
if test -s gmon.out; then
gprof_cv_sys_native=yes
diff --git a/gprof/testsuite/Makefile.am b/gprof/testsuite/Makefile.am
index 17ee148..7cc95e3 100644
--- a/gprof/testsuite/Makefile.am
+++ b/gprof/testsuite/Makefile.am
@@ -32,7 +32,7 @@ tst-gmon.$(OBJEXT): tst-gmon.c
$(COMPILE) -c -o $@ $<
tst-gmon: tst-gmon.$(OBJEXT)
$(LINK) tst-gmon.$(OBJEXT)
-tst-gmon-gprof.out: tst-gmon$(EXEEXT)
+tst-gmon-gprof.out: tst-gmon$(EXEEXT) $(GPROF)
$(srcdir)/tst-gmon-gprof.sh $(GPROF) tst-gmon$(EXEEXT)
endif NATIVE
diff --git a/gprof/testsuite/Makefile.in b/gprof/testsuite/Makefile.in
index 87ce1dc..91d2854 100644
--- a/gprof/testsuite/Makefile.in
+++ b/gprof/testsuite/Makefile.in
@@ -875,7 +875,7 @@ uninstall-am:
@NATIVE_TRUE@ $(COMPILE) -c -o $@ $<
@NATIVE_TRUE@tst-gmon: tst-gmon.$(OBJEXT)
@NATIVE_TRUE@ $(LINK) tst-gmon.$(OBJEXT)
-@NATIVE_TRUE@tst-gmon-gprof.out: tst-gmon$(EXEEXT)
+@NATIVE_TRUE@tst-gmon-gprof.out: tst-gmon$(EXEEXT) $(GPROF)
@NATIVE_TRUE@ $(srcdir)/tst-gmon-gprof.sh $(GPROF) tst-gmon$(EXEEXT)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/gprof/testsuite/tst-gmon-gprof.sh b/gprof/testsuite/tst-gmon-gprof.sh
index 562d480..deaa802 100755
--- a/gprof/testsuite/tst-gmon-gprof.sh
+++ b/gprof/testsuite/tst-gmon-gprof.sh
@@ -28,7 +28,7 @@ program="$2"
data=gmon.out
rm -f $data
./$program
-if test ! -f $data; then
+if test ! -s $data; then
echo "FAIL"
exit 1
fi
diff --git a/gprof/testsuite/tst-gmon.c b/gprof/testsuite/tst-gmon.c
index add2d92..917f5e6 100644
--- a/gprof/testsuite/tst-gmon.c
+++ b/gprof/testsuite/tst-gmon.c
@@ -16,8 +16,6 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <sys/cdefs.h>
-
/* This program does not use the test harness because we want tight
control over the call graph. */