[PATCH v2 0/6] Fixes for the parallel make/make check support

Adhemerval Zanella <[email protected]> Thu, 6 Aug 2026 14:07:54 -0300
Newsgroups gmane.comp.lib.glibc.alpha
Message-ID <[email protected]>
This series fixes fallouts from the parallel subdirectory recursion
and parallel 'make check' changes that went into 2.44 (7cac99621e96
and related commits).

The first patch fixes gen-as-const-headers races where a generated
header is consumed by a different subdirectory than the one that
generates it (BZ 34438).  The serial recursion hid the missing
dependency because the sorted subdirectory order always ran the
generating subdirectory first; the parallel fan-out does not provide
that ordering.  The headers are moved to the subdirectories that
consume them.

The second patch fixes a parallel 'make install' failure where
install-others-nosubdir adds the ABI lib-names header as a
prerequisite in subdirectories without $(headers), where no install
rule for it exists (BZ 34439).  This also only worked because
.NOTPARALLEL previously guaranteed the top level installed the header
first.

The third patch fixes the two-pass 'make check' so the static checks
(check-abi, conformtest, installed headers) run in the first
build-only pass no longer abort the check before any built test runs,
and the test summary is only merged and printed once at the end of
the second pass, restoring the single complete summary.

The fourth patch makes the .dt to .d dependency conversion safe
against concurrent sub-makes.

The last two patches fix the remaining races observed by Ross Burton.
The fifth creates the top-level stamp files before the subdirectory
fan-out, and the the sixth orders the arm rtld link after
libgcc-stubs.a.

Tested with builds and 'make check' on x86_64-linux-gnu, and builds
for sh4-linux-gnu, i686-gnu, x86_64-gnu, and arm-linux-gnueabihf.

I also run multiple builds on cfarm120, which has 192 cores and
most likely to trigger concurrency issues (as Florian has also
noticed).

Adhemerval Zanella (5):
  Fix gen-as-const-headers races with the parallel subdir recursion (BZ
    34438)
  Makefile: Only print the test summary in the second pass of 'make
    check'
  Makerules: Make the .dt to .d conversion safe against concurrent
    sub-makes
  Makefile: Order the top-level stamp files before the subdirectory
    fan-out
  arm: Order the rtld link after libgcc-stubs.a

Rudi Heitbaum (1):
  Makerules: Only install the ABI lib-names header from the top level
    (BZ 34439)

 Makefile                                | 15 ++++++++
 Makerules                               | 46 +++++++++++++++++++++----
 sysdeps/arm/Makefile                    |  5 +++
 sysdeps/mach/hurd/x86/Makefile          |  6 +---
 sysdeps/unix/sysv/linux/sh/Makefile     |  4 ++-
 sysdeps/unix/sysv/linux/x86_64/Makefile |  4 ++-
 sysdeps/x86/Makefile                    | 10 ++++--
 7 files changed, 74 insertions(+), 16 deletions(-)

-- 
2.53.0