make profiledbootstrap patch installed
Jan Hubicka
hubicka@ucw.cz
Thu Jun 5 16:37:00 GMT 2003
Hi,
DJ has kindly approved the attached patch off-line. It can make your
bootstrap even slower than it been ever before!
I would be interested to hear about bugs/speedups reached by this trick.
I will update the src tree after dinner.
Honza
Wed Jun 4 22:31:35 CEST 2003 Jan Hubicka <jh@suse.cz>
* install.tex: Document profiledbootstrap.
* Makefile.tpl (profiledbootstrap): New target.
* Makefile.in (profiledbootstrap): New target.
* Makefile.in (clean, distclean): Kill new stages
(POSTSTAGE1_FLAGS_TO_PASS): Break from ...
(STAGE2_FLAGS_TO_PASS): ... this one.
(STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
(stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
(stageprofile_build, stageprofile_copy, stagefeedback_build,
stagefeedback_copy): New.
(restageprofile, restagefeedback, stageprofile-start,
stageprofile, stagefeedback-start): Likewise.
* Make-lang.in: Add support for stageprofile and stagefeedback
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.in,v
retrieving revision 1.169
diff -c -3 -p -r1.169 Makefile.in
*** Makefile.in 3 Jun 2003 20:42:11 -0000 1.169
--- Makefile.in 4 Jun 2003 20:28:50 -0000
*************** $(GCC_STRAP_TARGETS): all-bootstrap conf
*** 23776,23781 ****
--- 23776,23798 ----
echo "Building runtime libraries"; \
$(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
+ profiledbootstrap: all-bootstrap configure-gcc
+ @r=`${PWD}`; export r; \
+ s=`cd $(srcdir); ${PWD}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Bootstrapping the compiler"; \
+ cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
+ @r=`${PWD}`; export r; \
+ s=`cd $(srcdir); ${PWD}` ; export s; \
+ $(SET_LIB_PATH) \
+ echo "Building runtime libraries and training compiler"; \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
+ @r=`${PWD}`; export r; \
+ s=`cd $(srcdir); ${PWD}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Building feedback based compiler"; \
+ cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
+
.PHONY: cross
cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
@r=`${PWD}`; export r; \
Index: Makefile.tpl
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.tpl,v
retrieving revision 1.53
diff -c -3 -p -r1.53 Makefile.tpl
*** Makefile.tpl 3 Jun 2003 20:42:12 -0000 1.53
--- Makefile.tpl 4 Jun 2003 20:28:50 -0000
*************** $(GCC_STRAP_TARGETS): all-bootstrap conf
*** 1255,1260 ****
--- 1255,1277 ----
echo "Building runtime libraries"; \
$(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
+ profiledbootstrap: all-bootstrap configure-gcc
+ @r=`${PWD}`; export r; \
+ s=`cd $(srcdir); ${PWD}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Bootstrapping the compiler"; \
+ cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
+ @r=`${PWD}`; export r; \
+ s=`cd $(srcdir); ${PWD}` ; export s; \
+ $(SET_LIB_PATH) \
+ echo "Building runtime libraries and training compiler"; \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
+ @r=`${PWD}`; export r; \
+ s=`cd $(srcdir); ${PWD}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Building feedback based compiler"; \
+ cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
+
.PHONY: cross
cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
@r=`${PWD}`; export r; \
Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1065
diff -c -3 -p -r1.1065 Makefile.in
*** gcc/Makefile.in 4 Jun 2003 17:05:52 -0000 1.1065
--- gcc/Makefile.in 4 Jun 2003 20:28:51 -0000
*************** clean: mostlyclean $(INTL_CLEAN) lang.cl
*** 2832,2838 ****
else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \
rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
fi ; fi
! -rm -fr stage1 stage2 stage3 stage4
# Delete stamps of bootstrap stages
-rm -f stage?_*
-rm -f clean?_*
--- 2832,2838 ----
else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \
rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
fi ; fi
! -rm -fr stage1 stage2 stage3 stage4 stageprofile stagefeedback
# Delete stamps of bootstrap stages
-rm -f stage?_*
-rm -f clean?_*
*************** distclean: clean $(INTL_DISTCLEAN) lang.
*** 2848,2854 ****
-rm -f Make-lang Make-hooks Make-host Make-target
-rm -f Makefile *.oaux
-rm -f gthr-default.h
! -rm -f */stage1 */stage2 */stage3 */stage4 */include
-rm -f c-parse.output
-rm -f *.asm
-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
--- 2848,2854 ----
-rm -f Make-lang Make-hooks Make-host Make-target
-rm -f Makefile *.oaux
-rm -f gthr-default.h
! -rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
-rm -f c-parse.output
-rm -f *.asm
-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
*************** VOL_FILES=`echo $(BACKEND) $(OBJS) $(C_O
*** 3470,3488 ****
# Flags to pass to stage2 and later recursive makes. Note that the
# WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
# the context of the stage_x rule.
! STAGE2_FLAGS_TO_PASS = \
ADAC="\$$(CC)" \
GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
CFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
- WERROR="@WERROR@" \
STRICT_WARN="$(STRICT2_WARN)" \
libdir=$(libdir) \
LANGUAGES="$(LANGUAGES)" \
MAKEOVERRIDES= \
OUTPUT_OPTION="-o \$$@"
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
--- 3470,3500 ----
# Flags to pass to stage2 and later recursive makes. Note that the
# WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
# the context of the stage_x rule.
!
! POSTSTAGE1_FLAGS_TO_PASS = \
ADAC="\$$(CC)" \
GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
CFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
STRICT_WARN="$(STRICT2_WARN)" \
libdir=$(libdir) \
LANGUAGES="$(LANGUAGES)" \
MAKEOVERRIDES= \
OUTPUT_OPTION="-o \$$@"
+ STAGE2_FLAGS_TO_PASS = \
+ CFLAGS="$(BOOT_CFLAGS)" \
+ WERROR="@WERROR@" \
+
+ STAGEPROFILE_FLAGS_TO_PASS = \
+ CFLAGS="$(BOOT_CFLAGS) -fprofile-arcs"
+
+ # Files never linked into the final executable produces warnings about missing
+ # profile.
+ STAGEFEEDBACK_FLAGS_TO_PASS = \
+ CFLAGS="$(BOOT_CFLAGS) -fbranch-probabilities"
+
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
*************** stage1_copy: stage1_build
*** 3504,3509 ****
--- 3516,3522 ----
stage2_build: stage1_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" BUILD_CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage1/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGE2_FLAGS_TO_PASS)
$(STAMP) stage2_build
echo stage2_build > stage_last
*************** stage2_copy: stage2_build
*** 3513,3525 ****
--- 3526,3573 ----
$(STAMP) stage2_copy
echo stage3_build > stage_last
+ stageprofile_build: stage1_copy
+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" BUILD_CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=stage1/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(STAGEPROFILE_FLAGS_TO_PASS)
+ $(STAMP) stageprofile_build
+ echo stageprofile_build > stage_last
+
+ stageprofile_copy: stageprofile_build
+ $(MAKE) stageprofile
+ $(STAMP) stageprofile_copy
+ echo stagefeedback_build > stage_last
+
stage3_build: stage2_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" BUILD_CC="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage2/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGE2_FLAGS_TO_PASS)
$(STAMP) stage3_build
echo stage3_build > stage_last
+ stagefeedback_build: stageprofile_copy stage1_copy
+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" BUILD_CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=stage1/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(STAGEFEEDBACK_FLAGS_TO_PASS)
+ $(STAMP) stagefeedback_build
+ echo stagefeedback_build > stage_last
+
+ stagefeedback_copy: stagefeedback_build
+ $(MAKE) stagefeedback
+ $(STAMP) stagefeedback_copy
+ echo stagefeedback2_build > stage_last
+
+ stageprofile_build: stage1_copy
+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" BUILD_CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=stage1/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(STAGEPROFILE_FLAGS_TO_PASS)
+ $(STAMP) stageprofile_build
+ echo stageprofile_build > stage_last
+
# For bootstrap4:
stage3_copy: stage3_build
$(MAKE) stage3
*************** stage3_copy: stage3_build
*** 3529,3534 ****
--- 3577,3583 ----
stage4_build: stage3_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" BUILD_CC="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage3/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGE2_FLAGS_TO_PASS)
$(STAMP) stage4_build
echo stage4_build > stage_last
*************** bootstrap3 bootstrap3-lean: bootstrap
*** 3564,3570 ****
bootstrap4 bootstrap4-lean: stage4_build
! unstage1 unstage2 unstage3 unstage4:
-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
rm -f $$stage/as$(exeext); \
rm -f $$stage/ld$(exeext); \
--- 3613,3619 ----
bootstrap4 bootstrap4-lean: stage4_build
! unstage1 unstage2 unstage3 unstage4 unstageprofile unstagefeedback:
-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
rm -f $$stage/as$(exeext); \
rm -f $$stage/ld$(exeext); \
*************** restage3: unstage3
*** 3595,3600 ****
--- 3644,3655 ----
restage4: unstage4
$(MAKE) LANGUAGES="$(LANGUAGES)" stage4_build
+ restageprofile: unstageprofile
+ $(MAKE) LANGUAGES="$(LANGUAGES)" stageprofile_build
+
+ restagefeedback: unstagefeedback
+ $(MAKE) LANGUAGES="$(LANGUAGES)" stagefeedback_build
+
bubblestrap:
if test -f stage3_build; then true; else \
echo; echo You must \"make bootstrap\" first.; \
*************** stage4-start:
*** 3829,3834 ****
--- 3884,3946 ----
fi; done
stage4: force stage4-start lang.stage4
+ stageprofile-start:
+ -if [ -d stageprofile ] ; then true ; else mkdir stageprofile ; fi
+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stageprofile
+ -for dir in intl $(SUBDIRS) ; \
+ do \
+ if [ -d stageprofile/$$dir ] ; then true ; else mkdir stageprofile/$$dir ; fi ; \
+ done
+ -mv $(STAGESTUFF) stageprofile
+ -mv intl/*$(objext) stageprofile/intl
+ # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
+ # dir will work properly.
+ -if [ -f as$(exeext) ] ; then (cd stageprofile && $(LN_S) ../as$(exeext) .) ; else true ; fi
+ -if [ -f ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../ld$(exeext) .) ; else true ; fi
+ -if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
+ -rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a
+ -cp libgcc.a stageprofile
+ -$(RANLIB_FOR_TARGET) stageprofile/libgcc.a
+ -cp libgcov.a stageprofile
+ -$(RANLIB_FOR_TARGET) stageprofile/libgcov.a
+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stageprofile; \
+ $(RANLIB_FOR_TARGET) stageprofile/libgcc_eh.a; \
+ fi
+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
+ cp stageprofile/$${f} . ; \
+ else true; \
+ fi; done
+ stageprofile: force stageprofile-start lang.stageprofile
+
+ stagefeedback-start:
+ -if [ -d stagefeedback ] ; then true ; else mkdir stagefeedback ; fi
+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stagefeedback
+ -for dir in intl $(SUBDIRS) ; \
+ do \
+ if [ -d stagefeedback/$$dir ] ; then true ; else mkdir stagefeedback/$$dir ; fi ; \
+ done
+ -mv $(STAGESTUFF) stagefeedback
+ -mv intl/*$(objext) stagefeedback/intl
+ # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
+ # dir will work properly.
+ -if [ -f as$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../as$(exeext) .) ; else true ; fi
+ -if [ -f ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../ld$(exeext) .) ; else true ; fi
+ -if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
+ -rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a
+ -rm -f *.da ada/*.da cp/*.da f/*.da java/*.da objc/*.da fixinc/*.da intl po testsuite 2>/dev/null
+ -cp libgcc.a stagefeedback
+ -$(RANLIB_FOR_TARGET) stagefeedback/libgcc.a
+ -cp libgcov.a stagefeedback
+ -$(RANLIB_FOR_TARGET) stagefeedback/libgcov.a
+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stagefeedback; \
+ $(RANLIB_FOR_TARGET) stagefeedback/libgcc_eh.a; \
+ fi
+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
+ cp stagefeedback/$${f} . ; \
+ else true; \
+ fi; done
+ stagefeedback: force stagefeedback-start lang.stagefeedback
+
# Copy just the executable files from a particular stage into a subdirectory,
# and delete the object files. Use this if you're just verifying a version
# that is pretty sure to work, and you are short of disk space.
*************** risky-stage4: stage4
*** 3847,3852 ****
--- 3959,3965 ----
#In GNU Make, ignore whether `stage*' exists.
.PHONY: stage1 stage2 stage3 stage4 clean maintainer-clean TAGS bootstrap
.PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
+ .PHONY: stagefeedback stageprofile
# Rules for generating translated message descriptions.
# Disabled by autoconf if the tools are not available.
Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.674
diff -c -3 -p -r1.674 configure.in
*** gcc/configure.in 4 Jun 2003 17:50:40 -0000 1.674
--- gcc/configure.in 4 Jun 2003 20:28:51 -0000
*************** target_list="all.build all.cross start.e
*** 3015,3021 ****
install-normal install-common install-info install-man \
uninstall \
mostlyclean clean distclean extraclean maintainer-clean \
! stage1 stage2 stage3 stage4"
for t in $target_list
do
x=
--- 3015,3021 ----
install-normal install-common install-info install-man \
uninstall \
mostlyclean clean distclean extraclean maintainer-clean \
! stage1 stage2 stage3 stage4 stageprofile stagefeedback"
for t in $target_list
do
x=
*************** if test "$symbolic_link" = "ln -s"; then
*** 3231,3237 ****
if test $d != ..; then
STARTDIR=`${PWDCMD-pwd}`
cd $d
! for t in stage1 stage2 stage3 stage4 include
do
rm -f $t
$symbolic_link ../$t $t 2>/dev/null
--- 3231,3237 ----
if test $d != ..; then
STARTDIR=`${PWDCMD-pwd}`
cd $d
! for t in stage1 stage2 stage3 stage4 stageprofile stagefeedback include
do
rm -f $t
$symbolic_link ../$t $t 2>/dev/null
Index: gcc/ada/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Make-lang.in,v
retrieving revision 1.29
diff -c -3 -p -r1.29 Make-lang.in
*** gcc/ada/Make-lang.in 20 Mar 2003 03:11:25 -0000 1.29
--- gcc/ada/Make-lang.in 4 Jun 2003 20:28:51 -0000
*************** ada.stage3: stage3-start
*** 808,813 ****
--- 808,819 ----
ada.stage4: stage4-start
-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stage4/ada
-$(MV) ada/stamp-* stage4/ada
+ ada.stageprofile: stageprofile-start
+ -$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stageprofile/ada
+ -$(MV) ada/stamp-* stageprofile/ada
+ ada.stagefeedback: stagefeedback-start
+ -$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stagefeedback/ada
+ -$(MV) ada/stamp-* stagefeedback/ada
check-ada:
Index: gcc/cp/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/Make-lang.in,v
retrieving revision 1.149
diff -c -3 -p -r1.149 Make-lang.in
*** gcc/cp/Make-lang.in 23 Apr 2003 22:44:01 -0000 1.149
--- gcc/cp/Make-lang.in 4 Jun 2003 20:28:52 -0000
*************** c++.stage3: stage3-start
*** 218,223 ****
--- 218,227 ----
-mv cp/*$(objext) stage3/cp
c++.stage4: stage4-start
-mv cp/*$(objext) stage4/cp
+ c++.stageprofile: stageprofile-start
+ -mv cp/*$(objext) stageprofile/cp
+ c++.stagefeedback: stagefeedback-start
+ -mv cp/*$(objext) stagefeedback/cp
#
# .o: .h dependencies.
Index: gcc/doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.196
diff -c -3 -p -r1.196 install.texi
*** gcc/doc/install.texi 4 Jun 2003 17:50:44 -0000 1.196
--- gcc/doc/install.texi 4 Jun 2003 20:28:52 -0000
*************** following commands (assuming @command{ma
*** 1202,1207 ****
--- 1202,1225 ----
Currently, when compiling the Ada front end, you cannot use the parallel
build feature described in the previous section.
+ @section Building with profile feedback
+
+ It is possible to use profile feedback to optimize the compiler itself. This
+ should result in a faster compiler binary. Experiments done on x86 using gcc
+ 3.3 showed approximately 7 percent speedup on compiling C programs. To
+ bootstrap compiler with profile feedback, use @code{make profiledbootstrap}.
+
+ When @samp{make profiledbootstrap} is run, it will first build a @code{stage1}
+ compiler. This compiler is used to build a @code{stageprofile} compiler
+ instrumented to collect execution counts of instruction and branch
+ probabilities. Then runtime libraries are compiled with profile collected.
+ Finally a @code{stagefeedback} compiler is built using the information collected.
+
+ Unlike @samp{make bootstrap} several additional restrictions apply. The
+ compiler used to build @code{stage1} needs to support a 64-bit integral type.
+ It is recommended to only use GCC for this. Also parallel make is currently
+ not supported since collisions in profile collecting may occur.
+
@html
<hr />
<p>
Index: gcc/f/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/f/Make-lang.in,v
retrieving revision 1.121
diff -c -3 -p -r1.121 Make-lang.in
*** gcc/f/Make-lang.in 20 Mar 2003 03:11:25 -0000 1.121
--- gcc/f/Make-lang.in 4 Jun 2003 20:28:52 -0000
*************** F77 f77: f771$(exeext)
*** 63,69 ****
f77.install-common f77.install-info f77.install-man \
f77.uninstall f77.mostlyclean f77.clean f77.distclean \
f77.extraclean f77.maintainer-clean f77.rebuilt \
! f77.stage1 f77.stage2 f77.stage3 f77.stage4
g77spec.o: $(srcdir)/f/g77spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(CONFIG_H)
--- 63,70 ----
f77.install-common f77.install-info f77.install-man \
f77.uninstall f77.mostlyclean f77.clean f77.distclean \
f77.extraclean f77.maintainer-clean f77.rebuilt \
! f77.stage1 f77.stage2 f77.stage3 f77.stage4 \
! f77.stageprofile f77.stagefeedback
g77spec.o: $(srcdir)/f/g77spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(CONFIG_H)
*************** f77.stage3: stage3-start
*** 349,354 ****
--- 350,360 ----
f77.stage4: stage4-start
-mv -f $(G77STAGESTUFF) stage4/f
+ f77.stageprofile: stageprofile-start
+ -mv -f $(G77STAGESTUFF) stageprofile/f
+
+ f77.stagefeedback: stageprofile-start
+ -mv -f $(G77STAGESTUFF) stagefeedback/f
#
# .o: .h dependencies.
Index: gcc/java/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/Make-lang.in,v
retrieving revision 1.108
diff -c -3 -p -r1.108 Make-lang.in
*** gcc/java/Make-lang.in 4 May 2003 14:05:15 -0000 1.108
--- gcc/java/Make-lang.in 4 Jun 2003 20:28:52 -0000
*************** java.stage3: stage3-start
*** 263,268 ****
--- 263,272 ----
-mv java/*$(objext) stage3/java
java.stage4: stage4-start
-mv java/*$(objext) stage4/java
+ java.stageprofile: stageprofile-start
+ -mv java/*$(objext) stageprofile/java
+ java.stagefeedback: stageprofile-start
+ -mv java/*$(objext) stagefeedback/java
#
# .o:.h dependencies.
Index: gcc/objc/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/objc/Make-lang.in,v
retrieving revision 1.57
diff -c -3 -p -r1.57 Make-lang.in
*** gcc/objc/Make-lang.in 7 Mar 2003 01:20:52 -0000 1.57
--- gcc/objc/Make-lang.in 4 Jun 2003 20:28:52 -0000
*************** objc.stage3: stage3-start
*** 156,158 ****
--- 156,164 ----
objc.stage4: stage4-start
-mv objc/*$(objext) stage4/objc
-mv cc1obj$(exeext) stage4
+ objc.stageprofile: stageprofile-start
+ -mv objc/*$(objext) stageprofile/objc
+ -mv cc1obj$(exeext) stageprofile
+ objc.stagefeedback: stagefeedback-start
+ -mv objc/*$(objext) stagefeedback/objc
+ -mv cc1obj$(exeext) stagefeedback
Index: gcc/treelang/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/treelang/Make-lang.in,v
retrieving revision 1.22
diff -c -3 -p -r1.22 Make-lang.in
*** gcc/treelang/Make-lang.in 9 May 2003 21:43:54 -0000 1.22
--- gcc/treelang/Make-lang.in 4 Jun 2003 20:28:55 -0000
*************** treelang.stage3: stage3-start
*** 266,271 ****
--- 266,275 ----
-mv treelang/*$(objext) stage3/treelang
treelang.stage4: stage4-start
-mv treelang/*$(objext) stage4/treelang
+ treelang.stageprofile: stageprofile-start
+ -mv treelang/*$(objext) stageprofile/treelang
+ treelang.stagefeedback: stagefeedback-start
+ -mv treelang/*$(objext) stagefeedback/treelang
#
# Maintenance hooks:
More information about the Gcc-patches
mailing list