Patchwork [Ada] Fix parallel LTO bootstrap

login
register
mail settings
Submitter Eric Botcazou
Date July 1, 2011, 9:47 p.m.
Message ID <201107012347.51145.ebotcazou@adacore.com>
Download mbox | patch
Permalink /patch/102973/
State New
Headers show

Comments

Eric Botcazou - July 1, 2011, 9:47 p.m.
Not clear why this never showed up on the 4.6 branch, but this now prevents a 
parallel LTO bootstrap with Ada enabled from completing on the mainline.

Parallel LTO-bootstrapped, applied on the mainline and 4.6 branch.


2011-07-01  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
	(gnatbind): Likewise.
Jan Hubicka - July 4, 2011, 9:48 a.m.
> Not clear why this never showed up on the 4.6 branch, but this now prevents a 
> parallel LTO bootstrap with Ada enabled from completing on the mainline.
> 
> Parallel LTO-bootstrapped, applied on the mainline and 4.6 branch.
> 
> 
> 2011-07-01  Eric Botcazou  <ebotcazou@adacore.com>
> 
> 	* gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
> 	(gnatbind): Likewise.

The changle is obviously correct, but I wonder how the bootstrap dies w/o '+'.
It should IMO just prevent the parallelizm and take longer.

Honza
Eric Botcazou - July 4, 2011, 10:20 a.m.
> The changle is obviously correct, but I wonder how the bootstrap dies w/o
> '+'. It should IMO just prevent the parallelizm and take longer.

Same cryptic error as PR driver/46750.

Patch

Index: gcc-interface/Make-lang.in
===================================================================
--- gcc-interface/Make-lang.in	(revision 175747)
+++ gcc-interface/Make-lang.in	(working copy)
@@ -476,11 +476,11 @@  TARGET_ADA_SRCS =
 # Since the RTL should be built with the latest compiler, remove the
 #  stamp target in the parent directory whenever gnat1 is rebuilt
 gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS)
-	$(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
+	+$(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
 	$(RM) stamp-gnatlib2-rts stamp-tools
 
 gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBDEPS)
-	$(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
+	+$(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
 
 # use cross-gcc
 gnat-cross: force