diff options
author | nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-06 14:51:35 +0000 |
---|---|---|
committer | nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-06 14:51:35 +0000 |
commit | 371db734bc7f4b5faee36029b971ba1cb44a9607 (patch) | |
tree | 444dfe130e7c482dd2feae37033602b82702fc82 | |
parent | 935f7e97a38d5c0607845dcda85817e4f73223b4 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | libatomic/Makefile.am | 7 | ||||
-rw-r--r-- | libatomic/Makefile.in | 13 |
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: |