diff options
author | Mike Frysinger <vapier@gentoo.org> | 2022-02-24 06:01:05 +0300 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2022-02-24 06:01:05 +0300 |
commit | acf642177b81543a4d954e58cfb24347c02b125a (patch) | |
tree | 85ed86b2740dd16232d550116c08d2964107bb49 /newlib/Makefile.in | |
parent | 5ad394510bb36aaebd5bb054a5bf4730f666947b (diff) |
newlib: fix multilib libg.a parallel builds
I split libg.a out into a sep target from libc.a for the main dir in
commit f2b053f49ed2bd7b4da8cf4ed3a608dc2f425c2b ("newlib: separate out
libg from libc"), but missed the multilib dirs. That leads to an
uncommon parallel build failure:
- libc.a rule runs & finishes
- $(BUILD_MULTISUBDIR)/libc.a rule runs
-> failure due to libg.a not yet existing
- libg.a rule runs & finishes
Split the multilib libg rule out from libc too so it can depend on the
main libg directly and avoid this race.
Diffstat (limited to 'newlib/Makefile.in')
-rw-r--r-- | newlib/Makefile.in | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/newlib/Makefile.in b/newlib/Makefile.in index cc7afc704..106f11ba0 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in @@ -8672,10 +8672,12 @@ libm.a: $(libm_a_OBJECTS) $(libm_a_DEPENDENCIES) @HAVE_MULTISUBDIR_TRUE@ ln $< $@ >/dev/null 2>/dev/null || cp $< $@ @HAVE_MULTISUBDIR_TRUE@$(BUILD_MULTISUBDIR)/libc.a: libc.a $(BUILD_MULTISUBDIR) -@HAVE_MULTISUBDIR_TRUE@ rm -f $@ $(BUILD_MULTISUBDIR)/libg.a +@HAVE_MULTISUBDIR_TRUE@ rm -f $@ +@HAVE_MULTISUBDIR_TRUE@ ln $< $@ >/dev/null 2>/dev/null || cp $< $@ + +@HAVE_MULTISUBDIR_TRUE@$(BUILD_MULTISUBDIR)/libg.a: libg.a ${BUILD_MULTISUBDIR} +@HAVE_MULTISUBDIR_TRUE@ rm -f $@ @HAVE_MULTISUBDIR_TRUE@ ln $< $@ >/dev/null 2>/dev/null || cp $< $@ -@HAVE_MULTISUBDIR_TRUE@ ln libg.a $(BUILD_MULTISUBDIR)/libg.a >/dev/null 2>/dev/null || \ -@HAVE_MULTISUBDIR_TRUE@ cp libg.a $(BUILD_MULTISUBDIR)/libg.a @HAVE_MULTISUBDIR_TRUE@$(BUILD_MULTISUBDIR)/libm.a: libm.a $(BUILD_MULTISUBDIR) @HAVE_MULTISUBDIR_TRUE@ rm -f $@ |