From 05d353b79441a708f43768383e2358c878ab727b Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Thu, 21 Dec 2023 10:51:10 +0000 Subject: [PATCH] Allow overriding EXPECT While investigating possible race conditions in the GCC testsuites caused by bufferization issues, I wanted to investigate workarounds similar to GDB's READ1 [1], and I noticed it was not always possible to override EXPECT when running 'make check'. This patch adds the missing support in various Makefiles. I was not able to test the patch for all the libraries updated here, but I confirmed it works as intended/needed for libstdc++. libatomic, libitm, libgomp already work as intended because their Makefiles do not have: MAKEOVERRIDES= Tested on (native) aarch64-linux-gnu, confirmed the patch introduces the behaviour I want in gcc, g++, gfortran and libstdc++. I updated (but could not test) libgm2, libphobos, libquadmath and libssp for consistency since their Makefiles have MAKEOVERRIDES= libffi, libgo, libsanitizer seem to need a similar update, but they are imported from their respective upstream repo, so should not be patched here. [1] https://github.com/bminor/binutils-gdb/blob/master/gdb/testsuite/README#L269 2023-12-21 Christophe Lyon gcc/ * Makefile.in: Allow overriding EXEPCT. libgm2/ * Makefile.am: Allow overriding EXEPCT. * Makefile.in: Regenerate. libphobos/ * Makefile.am: Allow overriding EXEPCT. * Makefile.in: Regenerate. libquadmath/ * Makefile.am: Allow overriding EXEPCT. * Makefile.in: Regenerate. libssp/ * Makefile.am: Allow overriding EXEPCT. * Makefile.in: Regenerate. libstdc++-v3/ * Makefile.am: Allow overriding EXEPCT. * Makefile.in: Regenerate. --- gcc/Makefile.in | 3 +++ libgm2/Makefile.am | 1 + libgm2/Makefile.in | 1 + libphobos/Makefile.am | 1 + libphobos/Makefile.in | 1 + libquadmath/Makefile.am | 1 + libquadmath/Makefile.in | 1 + libssp/Makefile.am | 1 + libssp/Makefile.in | 1 + libstdc++-v3/Makefile.am | 1 + libstdc++-v3/Makefile.in | 1 + 11 files changed, 13 insertions(+) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 754eceb23bbc..937380001877 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -4304,6 +4304,7 @@ $(lang_checks_parallel): site.exp vardots=`echo "$$variant" | sed 's,/,.,g'`; \ $(MAKE) TESTSUITEDIR="testsuite.$$vardots" \ RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \ + EXPECT=$(EXPECT) \ "$$target" TESTSUITEDIR = testsuite @@ -4369,6 +4370,7 @@ $(lang_checks_parallelized): check-% : site.exp GCC_RUNTEST_PARALLELIZE_DIR=`${PWD_COMMAND}`/$(TESTSUITEDIR)/$(check_p_tool)-parallel ; \ export GCC_RUNTEST_PARALLELIZE_DIR ; \ $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$(RUNTESTFLAGS)" \ + EXPECT=$(EXPECT) \ check-parallel-$* \ $(patsubst %,check-parallel-$*_%, $(check_p_subdirs)); \ sums= ; logs= ; \ @@ -4387,6 +4389,7 @@ $(lang_checks_parallelized): check-% : site.exp rm -rf $(TESTSUITEDIR)/$*-parallel || true; \ else \ $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$(RUNTESTFLAGS)" \ + EXPECT=$(EXPECT) \ check_$*_parallelize= check-parallel-$*; \ fi diff --git a/libgm2/Makefile.am b/libgm2/Makefile.am index d2eadfc51aaf..72391d012917 100644 --- a/libgm2/Makefile.am +++ b/libgm2/Makefile.am @@ -69,6 +69,7 @@ AM_MAKEFLAGS = \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ "CFLAGS_LONGDOUBLE=$(CFLAGS_LONGDOUBLE)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libgm2/Makefile.in b/libgm2/Makefile.in index 5a96f98edc9c..4c30d2b034f4 100644 --- a/libgm2/Makefile.in +++ b/libgm2/Makefile.in @@ -371,6 +371,7 @@ AM_MAKEFLAGS = \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ "CFLAGS_LONGDOUBLE=$(CFLAGS_LONGDOUBLE)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libphobos/Makefile.am b/libphobos/Makefile.am index d46cfef533e1..307c57c8b229 100644 --- a/libphobos/Makefile.am +++ b/libphobos/Makefile.am @@ -38,6 +38,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "GDC_FOR_TARGET=$(GDC_FOR_TARGET)" \ "GDC=$(GDC)" \ "GDCFLAGS=$(GDCFLAGS)" \ diff --git a/libphobos/Makefile.in b/libphobos/Makefile.in index 8d62c31dab0d..eef750bc46e0 100644 --- a/libphobos/Makefile.in +++ b/libphobos/Makefile.in @@ -365,6 +365,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "GDC_FOR_TARGET=$(GDC_FOR_TARGET)" \ "GDC=$(GDC)" \ "GDCFLAGS=$(GDCFLAGS)" \ diff --git a/libquadmath/Makefile.am b/libquadmath/Makefile.am index 0d02c95e7384..3ddebe14b936 100644 --- a/libquadmath/Makefile.am +++ b/libquadmath/Makefile.am @@ -88,6 +88,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libquadmath/Makefile.in b/libquadmath/Makefile.in index 068af559457e..06dca1534ffa 100644 --- a/libquadmath/Makefile.in +++ b/libquadmath/Makefile.in @@ -512,6 +512,7 @@ AUTOMAKE_OPTIONS = foreign info-in-builddir @BUILD_LIBQUADMATH_TRUE@ "CXXFLAGS=$(CXXFLAGS)" \ @BUILD_LIBQUADMATH_TRUE@ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ @BUILD_LIBQUADMATH_TRUE@ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ +@BUILD_LIBQUADMATH_TRUE@ "EXPECT=$(EXPECT)" \ @BUILD_LIBQUADMATH_TRUE@ "INSTALL=$(INSTALL)" \ @BUILD_LIBQUADMATH_TRUE@ "INSTALL_DATA=$(INSTALL_DATA)" \ @BUILD_LIBQUADMATH_TRUE@ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libssp/Makefile.am b/libssp/Makefile.am index f7ed2aa6043a..b1269489a8d4 100644 --- a/libssp/Makefile.am +++ b/libssp/Makefile.am @@ -77,6 +77,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libssp/Makefile.in b/libssp/Makefile.in index 1cf86361b96b..168f620a1f88 100644 --- a/libssp/Makefile.in +++ b/libssp/Makefile.in @@ -403,6 +403,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libstdc++-v3/Makefile.am b/libstdc++-v3/Makefile.am index 5fbf393bfdf6..0ad40b69e457 100644 --- a/libstdc++-v3/Makefile.am +++ b/libstdc++-v3/Makefile.am @@ -142,6 +142,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index 500c0d752821..cf8dd8bca50f 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -460,6 +460,7 @@ AM_MAKEFLAGS = \ "CXXFLAGS=$(CXXFLAGS)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "EXPECT=$(EXPECT)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \