This is the mail archive of the gcc@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]

Re: native cc re-used after 3-stage now


H . J . Lu wrote:

> Thanks for taking it up. In fact, you don't need parallel build on
> a SMP machine to see the bug. Since there are no dependencies on
> s-libi77, s-libf77, s-libu77 and s-libe77, with "make -j 100000" in
> libf2c, GNU make will start to build s-libi77, s-libf77, s-libu77 and
> s-libe77 at the same time along with other targets. Since there are
> no rules for them, the build will fail.

Well, the build will fail if s-lib[ifu]77 are *absent*, because there
are no rules to build them.  They are supposed to be present when you
hit the target (from .../egcs/libf2c/Makefile.in):

$(LIBG2C): s-libi77 s-libf77 s-libu77 s-libe77

because the sequence of events is as follows:

all: all-unilib
        $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="all-unilib"

all-unilib: i77 f77 u77 s-libe77
        $(MAKE) $(FLAGS_TO_PASS) $(LIBG2C)

i77:
        cd libI77; $(MAKE) $(FLAGS_TO_PASS) all

f77:
        cd libF77; $(MAKE) $(FLAGS_TO_PASS) all

u77:
        cd libU77; $(MAKE) $(FLAGS_TO_PASS) all

s-libe77: f2cext.c
	blah...blah...blah

and it is the responsibility of targets [ifu]77 to generate the stamp
files s-lib[ifu]77.

So by the time $MAKE ... $(LIBG2C) is called, [ifu]77 and s-libe77 have
been satisfied, which means that s-lib[ifu]77 and s-libe77 should be
present.

PS: Parallel builds are really fun !  I managed to get the load on my
laptop as high as 14.x while building three frontends 4-way parallel :-)
Fortunately, the build just managed to miss my swap file limit by about
8 % ...

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)

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