This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

3.2 PATCH: Ada parallel bootstrap fixes


This patch allows a parallel bootstrap on sparc-sun-solaris2.8 with ada
included (make -j4 on a 2-processor E250) to succeed.

It consists of three parts:

* It restores the dependencies of gnat1 etc. on $(CONFIG_H) and prefix.o,
  otherwise insn-constants.h and insn-flags.h may not exist before they are
  used.  An equivalent patch by Richard Henderson has been lost in the last
  ACT merge and not been restored yet ;-(

* ada.stage? needs to depend on stage?-start: without this, moving the
  ada/* files to stage?/ada may fail

mv ada/*.o ada/*.ali ada/b_*.c stage1/ada
mv: when moving multiple files, last argument must be a directory
make[2]: [ada.stage1] Error 1 (ignored)
mv ada/stamp-* stage1/ada

  This causes a bootstrap failure later if the bootstrap GNAT is an older
  version (like 3.13p), since gnatbind will complain about incompatible
  versions.

* b_gnatb.c needs to depend on interfac.o:

../stage1/gnatbind -C -I- -I. -I/vol/gnu/src/gcc/gcc-dist/gcc/ada -o b_gnatb.c gnatbind.ali
error: "interfac.ali" not found, "interfac.ads" must be compiled
make[3]: *** [b_gnatb.c] Error 5

  I'm not really sure where this dependency on interfac.ali comes from.

Successfully bootstrapped on sparc-sun-solaris2.8.  While this is certainly
not sufficient to fully support parallel bootstraps with ada included,
it's a necessary first step.

Ok for mainline?

	Rainer


Tue May 14 02:08:47 2002  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
	Restore $(CONFIG_H) and prefix.o dependencies.
	(ada.stage[1-4]): Depend on stage?-start.

	* Makefile.in (b_gnatb.c): Depend on interfac.o.

Index: Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Make-lang.in,v
retrieving revision 1.8
diff -u -p -r1.8 Make-lang.in
--- Make-lang.in	8 Mar 2002 20:10:30 -0000	1.8
+++ Make-lang.in	14 May 2002 10:18:54 -0000
@@ -86,12 +86,12 @@ gnat1$(exeext): prefix.o attribs.o $(LIB
 	$(MAKE) -C ada $(SUBDIR_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
 		../gnat1$(exeext)
 
-gnatbind$(exeext): force
+gnatbind$(exeext): $(CONFIG_H) prefix.o force
 	$(MAKE) -C ada $(SUBDIR_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
 		../gnatbind$(exeext)
 
 # use target-gcc target-gnatmake target-gnatbind target-gnatlink 
-gnattools: $(GCC_PARTS) force
+gnattools: $(GCC_PARTS) $(CONFIG_H) prefix.o force
 	$(MAKE) -C ada $(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
 	   ADA_INCLUDES="-I- -I../rts"\
 	   CC="../../xgcc -B../../" STAGE_PREFIX=../../  gnattools1
@@ -563,16 +563,16 @@ ada.maintainer-clean:
 # Stage hooks:
 # The main makefile has already created stage?/ada
 
-ada.stage1:
+ada.stage1: stage1-start
 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stage1/ada
 	-$(MV) ada/stamp-* stage1/ada
-ada.stage2:
+ada.stage2: stage2-start
 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stage2/ada
 	-$(MV) ada/stamp-* stage2/ada
-ada.stage3:
+ada.stage3: stage3-start
 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stage3/ada
 	-$(MV) ada/stamp-* stage3/ada
-ada.stage4:
+ada.stage4: stage4-start
 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stage4/ada
 	-$(MV) ada/stamp-* stage4/ada
 
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Makefile.in,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile.in
--- Makefile.in	2 May 2002 15:07:08 -0000	1.29
+++ Makefile.in	14 May 2002 10:18:54 -0000
@@ -2109,7 +2109,7 @@ b_gnat1.c : $(GNAT1_ADA_OBJS)
 	$(GNATBIND) $(ADA_INCLUDES) -o b_gnat1.c -n gnat1drv.ali
 b_gnat1.o : b_gnat1.c
 
-b_gnatb.c : $(GNATBIND_OBJS)
+b_gnatb.c : $(GNATBIND_OBJS) interfac.o
 	$(GNATBIND) $(ADA_INCLUDES) -o b_gnatb.c gnatbind.ali
 b_gnatb.o : b_gnatb.c
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]