This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: make profiledbootstrap
> I have some suggestions about minor wording issues in the documentation.
Thanks a lot! I am attaching updated patch. Additionally I added code
to remove the profile data when stageprofile is being built so we don't
accumulate data from multiple bootstraps together.
Sat Feb 22 02:33:03 CET 2003 Jan Hubicka <jh at suse dot cz>
* install.tex: Document profiledbootstrap.
* 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.151
diff -c -3 -p -r1.151 Makefile.in
*** Makefile.in 21 Feb 2003 01:55:04 -0000 1.151
--- Makefile.in 22 Feb 2003 13:50:40 -0000
*************** bootstrap bootstrap-lean bootstrap2 boot
*** 7272,7277 ****
--- 7272,7294 ----
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.998
diff -c -3 -p -r1.998 Makefile.in
*** gcc/Makefile.in 19 Feb 2003 18:03:02 -0000 1.998
--- gcc/Makefile.in 22 Feb 2003 13:50:40 -0000
*************** BOOT_LANGUAGES = c @all_boot_languages@
*** 72,78 ****
# TCFLAGS is used for compilations with the GCC just built.
XCFLAGS =
TCFLAGS =
! CFLAGS = -g
STAGE1_CFLAGS = -g @stage1_cflags@
BOOT_CFLAGS = -g -O2
--- 72,78 ----
# TCFLAGS is used for compilations with the GCC just built.
XCFLAGS =
TCFLAGS =
! CFLAGS = -g -O2
STAGE1_CFLAGS = -g @stage1_cflags@
BOOT_CFLAGS = -g -O2
*************** clean: mostlyclean $(INTL_CLEAN) lang.cl
*** 2755,2761 ****
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?_*
--- 2755,2761 ----
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.
*** 2771,2777 ****
-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
--- 2771,2777 ----
-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
*** 3383,3401 ****
# 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),
--- 3383,3413 ----
# 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
*** 3417,3422 ****
--- 3429,3435 ----
stage2_build: stage1_copy
$(MAKE) 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
*** 3426,3434 ****
--- 3439,3474 ----
$(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/" \
+ 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
+
+ stagefeedback_build: stageprofile_copy stage1_copy
+ $(MAKE) 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
+
stage3_build: stage2_copy
$(MAKE) 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
*************** stage3_copy: stage3_build
*** 3442,3447 ****
--- 3482,3488 ----
stage4_build: stage3_copy
$(MAKE) 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
*** 3477,3483 ****
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); \
--- 3518,3524 ----
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
*** 3507,3512 ****
--- 3548,3559 ----
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:
*** 3725,3730 ****
--- 3772,3834 ----
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
*** 3743,3748 ****
--- 3847,3853 ----
#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
force:
Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.644
diff -c -3 -p -r1.644 configure.in
*** gcc/configure.in 20 Feb 2003 23:38:06 -0000 1.644
--- gcc/configure.in 22 Feb 2003 13:50:40 -0000
*************** target_list="all.build all.cross start.e
*** 2733,2739 ****
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=
--- 2733,2739 ----
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
*** 2961,2967 ****
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
--- 2961,2967 ----
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.25
diff -c -3 -p -r1.25 Make-lang.in
*** gcc/ada/Make-lang.in 3 Feb 2003 00:55:32 -0000 1.25
--- gcc/ada/Make-lang.in 22 Feb 2003 13:50:40 -0000
*************** ada.stage3: stage3-start
*** 805,810 ****
--- 805,816 ----
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.134
diff -c -3 -p -r1.134 Make-lang.in
*** gcc/cp/Make-lang.in 13 Feb 2003 04:57:20 -0000 1.134
--- gcc/cp/Make-lang.in 22 Feb 2003 13:50:41 -0000
*************** c++.stage3: stage3-start
*** 205,210 ****
--- 205,214 ----
-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.174
diff -c -3 -p -r1.174 install.texi
*** gcc/doc/install.texi 21 Feb 2003 03:12:17 -0000 1.174
--- gcc/doc/install.texi 22 Feb 2003 13:50:41 -0000
*************** following commands (assuming @command{ma
*** 1187,1192 ****
--- 1187,1210 ----
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.119
diff -c -3 -p -r1.119 Make-lang.in
*** gcc/f/Make-lang.in 21 Jan 2003 13:45:14 -0000 1.119
--- gcc/f/Make-lang.in 22 Feb 2003 13:50:41 -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
*** 346,351 ****
--- 347,357 ----
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.103
diff -c -3 -p -r1.103 Make-lang.in
*** gcc/java/Make-lang.in 30 Jan 2003 05:19:31 -0000 1.103
--- gcc/java/Make-lang.in 22 Feb 2003 13:50:41 -0000
*************** java.stage3: stage3-start
*** 258,263 ****
--- 258,267 ----
-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.55
diff -c -3 -p -r1.55 Make-lang.in
*** gcc/objc/Make-lang.in 30 Jan 2003 05:17:55 -0000 1.55
--- gcc/objc/Make-lang.in 22 Feb 2003 13:50:41 -0000
*************** objc.stage3: stage3-start
*** 152,154 ****
--- 152,160 ----
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.12
diff -c -3 -p -r1.12 Make-lang.in
*** gcc/treelang/Make-lang.in 26 Jan 2003 10:17:17 -0000 1.12
--- gcc/treelang/Make-lang.in 22 Feb 2003 13:50:42 -0000
*************** treelang.stage3: stage3-start
*** 258,263 ****
--- 258,267 ----
-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: