summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-06 14:51:35 +0000
committernsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-06 14:51:35 +0000
commit371db734bc7f4b5faee36029b971ba1cb44a9607 (patch)
tree444dfe130e7c482dd2feae37033602b82702fc82
parent935f7e97a38d5c0607845dcda85817e4f73223b4 (diff)
downloadgcc-371db734bc7f4b5faee36029b971ba1cb44a9607.tar.gz
Fix libatomic multilib parallel build (PR other/67627)
The all-multi target may be built in parallel with the %_.lo targets which generate make dependencies that are parsed during the build of all-multi. This patch forces all-multi to only run after the *_.lo targets are done. libatomic: PR other/67627 * Makefile.am (all-multi): Add dependency. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232102 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libatomic/ChangeLog6
-rw-r--r--libatomic/Makefile.am7
-rw-r--r--libatomic/Makefile.in13
3 files changed, 20 insertions, 6 deletions
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog
index fb42efb31aa..f476a6fa8b4 100644
--- a/libatomic/ChangeLog
+++ b/libatomic/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR other/67627
+ * Makefile.am (all-multi): Add dependency.
+ * Makefile.in: Regenerate.
+
2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
index fdc16c0ac91..b3512442850 100644
--- a/libatomic/Makefile.am
+++ b/libatomic/Makefile.am
@@ -139,3 +139,10 @@ endif
libatomic_convenience_la_SOURCES = $(libatomic_la_SOURCES)
libatomic_convenience_la_LIBADD = $(libatomic_la_LIBADD)
+
+# Override the automake generated all-multi rule to guarantee that all-multi
+# is not run in parallel with the %_.lo rules which generate $(DEPDIR)/*.Ppo
+# makefile fragments to avoid broken *.Ppo getting included into the Makefile
+# when it is reloaded during the build of all-multi.
+all-multi: $(libatomic_la_LIBADD)
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
index b696d554777..a083d8702e4 100644
--- a/libatomic/Makefile.in
+++ b/libatomic/Makefile.in
@@ -496,12 +496,6 @@ clean-libtool:
distclean-libtool:
-rm -f libtool config.lt
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds. Hence the
-# comments below.
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
install-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
@@ -800,6 +794,13 @@ vpath % $(strip $(search_path))
%_.lo: Makefile
$(LTCOMPILE) $(M_DEPS) $(M_SIZE) $(M_IFUNC) -c -o $@ $(M_SRC)
+# Override the automake generated all-multi rule to guarantee that all-multi
+# is not run in parallel with the %_.lo rules which generate $(DEPDIR)/*.Ppo
+# makefile fragments to avoid broken *.Ppo getting included into the Makefile
+# when it is reloaded during the build of all-multi.
+all-multi: $(libatomic_la_LIBADD)
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: