From acf642177b81543a4d954e58cfb24347c02b125a Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 23 Feb 2022 22:01:05 -0500 Subject: 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. --- newlib/Makefile.am | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'newlib/Makefile.am') diff --git a/newlib/Makefile.am b/newlib/Makefile.am index 1a5123f0a..0479ca4f5 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 $@ -- cgit v1.2.3