[gcc-7] 210/354: ada: prevent parallel gnatmake invokations for gnattools. Closes: #857831.
Ximin Luo
infinity0 at debian.org
Thu Nov 23 15:50:55 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch master
in repository gcc-7.
commit 58c95f6d28b4ef244d840589c5705a9858014cd5
Author: nicolas <nicolas at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Mon Jun 12 15:37:07 2017 +0000
ada: prevent parallel gnatmake invokations for gnattools. Closes: #857831.
git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9513 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/patches/ada-gnattools-cross.diff | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/debian/patches/ada-gnattools-cross.diff b/debian/patches/ada-gnattools-cross.diff
index 32d4f10..2a17974 100644
--- a/debian/patches/ada-gnattools-cross.diff
+++ b/debian/patches/ada-gnattools-cross.diff
@@ -247,23 +247,28 @@ Index: b/src/gnattools/Makefile.in
"exeext=$(exeext)" \
"fsrcdir=$(fsrcdir)" \
"srcdir=$(fsrcdir)" \
-@@ -192,12 +199,18 @@
+@@ -190,6 +199,10 @@
+ # to be able to build gnatmake without a version of gnatmake around. Once
+ # everything has been compiled once, gnatmake can be recompiled with itself
# (see target regnattools)
++gnattools-native: export LD_LIBRARY_PATH := \
++ '$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(vsndir):$(rtsdir)'
++# Useful even for 1st pass, as ../../gnatmake may already be
++# dynamically linked in case this target has already been invokated.
gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts
# gnattools1
-+# The export is necessary in case the target is run twice.
-+ LD_LIBRARY_PATH='$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(vsndir):$(rtsdir)' \
$(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
- $(TOOLS_FLAGS_TO_PASS_NATIVE) \
- ../../gnatmake$(exeext) ../../gnatlink$(exeext)
+@@ -198,6 +211,13 @@
# gnattools2
+ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+ $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools
+# The hard-coded object lists for gnatbind/make/link contain unneeded
+# objects. Use the fresh tools to recompute dependencies.
-+ LD_LIBRARY_PATH='$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(vsndir):$(rtsdir)' \
- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
-- $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools
-+ $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools \
-+ gnatbind-re gnatmake-re gnatlink-re
++# A separate Make run avoids race conditions between gnatmakes
++# building the same object for common-tools and gnat*-re.
++# (parallelism is already forbidden between gnat*-re targets)
++ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
++ $(TOOLS_FLAGS_TO_PASS_NATIVE) gnatbind-re gnatmake-re gnatlink-re
# gnatmake/link can be built with recent gnatmake/link if they are available.
# This is especially convenient for building cross tools or for rebuilding
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-7.git
More information about the Reproducible-commits
mailing list