This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Allow gmp/mpfr profiledbootstrap
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 16 May 2007 11:03:07 +0200
- Subject: [PATCH] Allow gmp/mpfr profiledbootstrap
This patch allows to include gmp and mpfr in a profiledbootstrap. The
problem, reported to me by Jan a few months ago, is a mismatch between
the CFLAGS passed to configure and the CFLAGS passed to make. Fixed by
noticing that we use stage_make_flags only for the CFLAGS, and then
replacing it with stage_cflags.
Committed to gcc and src.
Paolo
2007-05-11 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (bootstrap_stage): Replace stage_make_flags with
stage_cflags.
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS, POSTSTAGE1_FLAGS_TO_PASS):
Remove CFLAGS/LIBCFLAGS.
(configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+]): Pass it from [+stage_cflags+].
* Makefile.in: Regenerate.
Index: Makefile.def
===================================================================
--- Makefile.def (revision 121759)
+++ Makefile.def (working copy)
@@ -511,31 +511,31 @@ bootstrap_stage = {
// compiler probably has never heard of them.
stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
- stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"' ; };
+ stage_cflags='$(STAGE1_CFLAGS)' ; };
bootstrap_stage = {
id=2 ; prev=1 ;
bootstrap_target=bootstrap2 ;
stage_configure_flags="@stage2_werror_flag@" ;
- stage_make_flags="" ; };
+ stage_cflags="$(BOOT_CFLAGS)" ; };
bootstrap_stage = {
id=3 ; prev=2 ; lean=1 ;
compare_target=compare ;
bootstrap_target=bootstrap ;
cleanstrap_target=cleanstrap ;
stage_configure_flags="@stage2_werror_flag@" ;
- stage_make_flags="" ; };
+ stage_cflags="$(BOOT_CFLAGS)" ; };
bootstrap_stage = {
id=4 ; prev=3 ; lean=2 ;
compare_target=compare3 ;
bootstrap_target=bootstrap4 ;
stage_configure_flags="@stage2_werror_flag@" ;
- stage_make_flags="" ; };
+ stage_cflags="$(BOOT_CFLAGS)" ; };
bootstrap_stage = {
id=profile ; prev=1 ;
stage_configure_flags="@stage2_werror_flag@" ;
- stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; };
+ stage_cflags='$(BOOT_CFLAGS) -fprofile-generate' ; };
bootstrap_stage = {
id=feedback ; prev=profile ;
bootstrap_target=profiledbootstrap ;
stage_configure_flags="@stage2_werror_flag@" ;
- stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; };
+ stage_cflags='$(BOOT_CFLAGS) -fprofile-use' ; };
Index: Makefile.tpl
===================================================================
--- Makefile.tpl (revision 121759)
+++ Makefile.tpl (working copy)
@@ -190,7 +190,6 @@ POSTSTAGE1_HOST_EXPORTS = \
$$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ \
-B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
- CFLAGS="$(BOOT_CFLAGS)"; export CFLAGS; \
LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS;
# Target libraries are put under this directory:
@@ -455,8 +454,6 @@ X11_FLAGS_TO_PASS = \
POSTSTAGE1_FLAGS_TO_PASS = \
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind" \
- CFLAGS="$(BOOT_CFLAGS)" \
- LIBCFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
@@ -820,6 +817,8 @@ configure-stage[+id+]-[+prefix+][+module
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
[+exports+][+ IF prev +] \
[+poststage1_exports+][+ ENDIF prev +] \
+ CFLAGS="[+stage_cflags+]"; export CFLAGS; \
+ LIBCFLAGS="[+stage_cflags+]"; export LIBCFLAGS; \
echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
cd [+subdir+]/[+module+] || exit 1; \
@@ -876,9 +875,10 @@ all-stage[+id+]-[+prefix+][+module+]: co
[+exports+][+ IF prev +] \
[+poststage1_exports+][+ ENDIF prev +] \
cd [+subdir+]/[+module+] && \
- $(MAKE) [+args+] [+ IF prev
- +][+poststage1_args+][+ ENDIF prev
- +] [+stage_make_flags+] [+extra_make_flags+] \
+ $(MAKE) [+args+] \
+ CFLAGS="[+stage_cflags+]" LIBCFLAGS="[+stage_cflags+]" [+
+ IF prev +][+poststage1_args+][+ ENDIF prev
+ +] [+extra_make_flags+] \
$(TARGET-stage[+id+]-[+prefix+][+module+])
maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
@@ -893,7 +893,7 @@ clean-stage[+id+]-[+prefix+][+module+]:
cd [+subdir+]/[+module+] && \
$(MAKE) [+args+] [+ IF prev +] \
[+poststage1_args+] [+ ENDIF prev +] \
- [+stage_make_flags+] [+extra_make_flags+] clean
+ [+extra_make_flags+] clean
@endif [+prefix+][+module+]-bootstrap
[+ ENDFOR bootstrap_stage +]