Avoid race conditions when rebuilding librt.so
authorPalmer Dabbelt <palmer@dabbelt.com>
Wed, 27 Dec 2017 04:56:44 +0000 (20:56 -0800)
committerPalmer Dabbelt <palmer@dabbelt.com>
Sun, 7 Jan 2018 07:42:21 +0000 (23:42 -0800)
`make check' sometimes triggers a rebuild of librt.so using
nptl/Makefile, which ignores librt's dependence on libpthread.  This
causes the build to blow up when we attempt to run the test suite on
RISC-V.

2018-01-06  Palmer Dabbelt  <palmer@sifive.com>

        * nptl/Makefile (/librt.so): Always depend on
        "$(shared-thread-library)".

ChangeLog
nptl/Makefile

index 905d93a..8ddf37e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,8 @@
        (VDSO_HASH_LINUX_4_15): Likewise.
        * scripts/build-many-glibcs.py (class Glibc): Strip shared objects
        in subdirectories of lib.
+       * nptl/Makefile (/librt.so): Always depend on
+       "$(shared-thread-library)".
 
 2018-01-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
index d7ed500..48b7e4b 100644 (file)
@@ -612,6 +612,10 @@ else
 librt = $(common-objpfx)rt/librt.a
 endif
 
+# `make check' sometimes triggers a rebuild of librt.so using this Makefile,
+# which ignores librt's dependence on libpthread
+$(common-objpfx)rt/librt.so: $(shared-thread-library)
+
 $(objpfx)tst-cancel17: $(librt)
 $(objpfx)tst-cancelx17: $(librt)
 $(objpfx)tst-_res1mod2.so: $(objpfx)tst-_res1mod1.so