diff options
author | Mike Frysinger <vapier@gentoo.org> | 2022-02-23 22:01:05 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2022-02-23 22:01:05 -0500 |
commit | acf642177b81543a4d954e58cfb24347c02b125a (patch) | |
tree | 85ed86b2740dd16232d550116c08d2964107bb49 /newlib/Makefile.am | |
parent | 5ad394510bb36aaebd5bb054a5bf4730f666947b (diff) | |
download | newlib-acf642177b81543a4d954e58cfb24347c02b125a.zip newlib-acf642177b81543a4d954e58cfb24347c02b125a.tar.gz newlib-acf642177b81543a4d954e58cfb24347c02b125a.tar.bz2 |
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.am')
-rw-r--r-- | newlib/Makefile.am | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/newlib/Makefile.am b/newlib/Makefile.am index 1a5123f..0479ca4 100644 --- a/newlib/Makefile.am +++ b/newlib/Makefile.am @@ -161,10 +161,12 @@ $(BUILD_MULTISUBDIR)/crt0.o: $(CRT0_DIR)$(CRT0) $(BUILD_MULTISUBDIR) ln $< $@ >/dev/null 2>/dev/null || cp $< $@ $(BUILD_MULTISUBDIR)/libc.a: libc.a $(BUILD_MULTISUBDIR) - rm -f $@ $(BUILD_MULTISUBDIR)/libg.a + rm -f $@ + ln $< $@ >/dev/null 2>/dev/null || cp $< $@ + +$(BUILD_MULTISUBDIR)/libg.a: libg.a ${BUILD_MULTISUBDIR} + rm -f $@ ln $< $@ >/dev/null 2>/dev/null || cp $< $@ - ln libg.a $(BUILD_MULTISUBDIR)/libg.a >/dev/null 2>/dev/null || \ - cp libg.a $(BUILD_MULTISUBDIR)/libg.a $(BUILD_MULTISUBDIR)/libm.a: libm.a $(BUILD_MULTISUBDIR) rm -f $@ |