mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-16 04:40:25 +08:00
re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9)
2008-02-20 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/32009 PR bootstrap/32161 * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute here. * configure: Regenerate. * Makefile.def: Define stage_libcflags for all bootstrap stages. * Makefile.tpl (STAGE1_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS, STAGE4_LIBCFLAGS): New. (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without $(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET). (BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS. (EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS. (configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags for target modules. Don't export LIBCFLAGS. (all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass $(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET. (invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with $(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS). * Makefile.in: Regenerate. 2008-02-20 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/32009 * mh-ppc-darwin (BOOT_CFLAGS): Reenable. 2008-02-20 Paolo Bonzini <bonzini@gnu.org> * doc/install.texi: Correct references to CFLAGS, replacing them with BOOT_CFLAGS. Document flags used during bootstrap for target libraries. From-SVN: r132479
This commit is contained in:
parent
d6023b50b7
commit
1c8bd6a397
24
ChangeLog
24
ChangeLog
@ -1,3 +1,27 @@
|
||||
2008-02-20 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR bootstrap/32009
|
||||
PR bootstrap/32161
|
||||
|
||||
* configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute here.
|
||||
* configure: Regenerate.
|
||||
|
||||
* Makefile.def: Define stage_libcflags for all bootstrap stages.
|
||||
* Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
|
||||
STAGE4_LIBCFLAGS): New.
|
||||
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
|
||||
$(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
|
||||
(BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
|
||||
(EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
|
||||
(configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
|
||||
for target modules. Don't export LIBCFLAGS.
|
||||
(all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
|
||||
$(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
|
||||
the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
|
||||
(invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
|
||||
$(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
PR libgcj/33085
|
||||
|
24
Makefile.def
24
Makefile.def
@ -511,43 +511,51 @@ bootstrap_stage = {
|
||||
// compiler probably has never heard of them.
|
||||
stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
|
||||
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
|
||||
stage_cflags='$(STAGE1_CFLAGS)' ; };
|
||||
stage_cflags='$(STAGE1_CFLAGS)' ;
|
||||
stage_libcflags='$(STAGE1_LIBCFLAGS)' ; };
|
||||
bootstrap_stage = {
|
||||
id=2 ; prev=1 ;
|
||||
bootstrap_target=bootstrap2 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE2_CFLAGS)" ; };
|
||||
stage_cflags="$(STAGE2_CFLAGS)" ;
|
||||
stage_libcflags="$(STAGE2_LIBCFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=b2g0 ; prev=1 ;
|
||||
bootstrap_target=bootstrap2-debug ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE2_CFLAGS) -g0" ; };
|
||||
stage_cflags="$(STAGE2_CFLAGS) -g0" ;
|
||||
stage_libcflags="$(STAGE2_LIBCFLAGS) -g0" ; };
|
||||
bootstrap_stage = {
|
||||
id=3 ; prev=2 ; lean=1 ;
|
||||
compare_target=compare ;
|
||||
bootstrap_target=bootstrap ;
|
||||
cleanstrap_target=cleanstrap ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE3_CFLAGS)" ; };
|
||||
stage_cflags="$(STAGE3_CFLAGS)" ;
|
||||
stage_libcflags="$(STAGE3_LIBCFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=b3g2 ; prev=b2g0 ; lean=1 ;
|
||||
compare_target=compare-debug ;
|
||||
bootstrap_target=bootstrap-debug ;
|
||||
cleanstrap_target=cleanstrap-debug ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE3_CFLAGS) -g2" ; };
|
||||
stage_cflags="$(STAGE3_CFLAGS) -g2" ;
|
||||
stage_libcflags="$(STAGE3_LIBCFLAGS) -g2" ; };
|
||||
bootstrap_stage = {
|
||||
id=4 ; prev=3 ; lean=2 ;
|
||||
compare_target=compare3 ;
|
||||
bootstrap_target=bootstrap4 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE4_CFLAGS)" ; };
|
||||
stage_cflags="$(STAGE4_CFLAGS)" ;
|
||||
stage_libcflags="$(STAGE4_CFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=profile ; prev=1 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ; };
|
||||
stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ;
|
||||
stage_libcflags='$(STAGE2_LIBCFLAGS) -fprofile-generate' ; };
|
||||
bootstrap_stage = {
|
||||
id=feedback ; prev=profile ;
|
||||
bootstrap_target=profiledbootstrap ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ; };
|
||||
stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ;
|
||||
stage_libcflags='$(STAGE3_LIBCFLAGS) -fprofile-use' ; };
|
||||
|
1801
Makefile.in
1801
Makefile.in
File diff suppressed because it is too large
Load Diff
57
Makefile.tpl
57
Makefile.tpl
@ -207,10 +207,10 @@ BASE_TARGET_EXPORTS = \
|
||||
AR="$(AR_FOR_TARGET)"; export AR; \
|
||||
AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
|
||||
CC="$(CC_FOR_TARGET)"; export CC; \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||
GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
|
||||
GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
|
||||
DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
|
||||
@ -330,14 +330,19 @@ PICFLAG =
|
||||
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
|
||||
# overrideable (for a bootstrap build stage1 also builds gcc.info).
|
||||
|
||||
STAGE1_CFLAGS=@stage1_cflags@
|
||||
STAGE1_CHECKING=@stage1_checking@
|
||||
STAGE1_LANGUAGES=@stage1_languages@
|
||||
|
||||
STAGE1_CFLAGS=@stage1_cflags@
|
||||
STAGE2_CFLAGS=$(BOOT_CFLAGS)
|
||||
STAGE3_CFLAGS=$(BOOT_CFLAGS)
|
||||
STAGE4_CFLAGS=$(BOOT_CFLAGS)
|
||||
|
||||
STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
|
||||
do-compare = @do_compare@
|
||||
do-compare3 = $(do-compare)
|
||||
do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
|
||||
@ -376,18 +381,11 @@ COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@
|
||||
COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
|
||||
COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
|
||||
|
||||
# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
|
||||
# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
|
||||
# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
|
||||
# We want to ensure that TARGET libraries (which we know are built with
|
||||
# gcc) are built with "-O2 -g", so prepend those options when setting
|
||||
# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
|
||||
CFLAGS_FOR_TARGET = -O2 -g $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
|
||||
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
|
||||
CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
|
||||
CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
|
||||
SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
|
||||
DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
|
||||
CXXFLAGS_FOR_TARGET = -O2 -g $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
|
||||
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
|
||||
|
||||
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
||||
LDFLAGS_FOR_TARGET =
|
||||
@ -491,19 +489,20 @@ POSTSTAGE1_FLAGS_TO_PASS = \
|
||||
# Flags to pass down to makes which are built with the target environment.
|
||||
# The double $ decreases the length of the command line; those variables
|
||||
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
|
||||
# COMPILER_ prefixed variables are not passed down so we expand them here.
|
||||
# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
|
||||
# so we expand them here.
|
||||
EXTRA_TARGET_FLAGS = \
|
||||
'AR=$$(AR_FOR_TARGET)' \
|
||||
'AS=$(COMPILER_AS_FOR_TARGET)' \
|
||||
'CC=$$(CC_FOR_TARGET)' \
|
||||
'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
|
||||
'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'CXX=$$(CXX_FOR_TARGET)' \
|
||||
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
|
||||
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
|
||||
'LD=$(COMPILER_LD_FOR_TARGET)' \
|
||||
'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
|
||||
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
|
||||
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
|
||||
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'NM=$(COMPILER_NM_FOR_TARGET)' \
|
||||
'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
|
||||
'RANLIB=$$(RANLIB_FOR_TARGET)' \
|
||||
@ -851,9 +850,11 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
fi; \
|
||||
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
|
||||
[+exports+][+ IF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] [+ IF prefix +] \
|
||||
CFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CXXFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; [+ ELSE +] \
|
||||
CFLAGS="[+stage_cflags+]"; export CFLAGS; \
|
||||
LIBCFLAGS="[+stage_cflags+]"; export LIBCFLAGS; \
|
||||
CXXFLAGS="[+stage_cflags+]"; export CXXFLAGS; [+ ENDIF +] \
|
||||
echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
|
||||
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
|
||||
cd [+subdir+]/[+module+] || exit 1; \
|
||||
@ -890,7 +891,8 @@ all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +][+ ELS
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
[+exports+] \
|
||||
(cd [+subdir+]/[+module+] && \
|
||||
$(MAKE) [+args+] [+extra_make_flags+] $(TARGET-[+prefix+][+module+]))
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+extra_make_flags+] \
|
||||
$(TARGET-[+prefix+][+module+]))
|
||||
@endif [+prefix+][+module+]
|
||||
|
||||
[+ IF bootstrap +]
|
||||
@ -910,8 +912,11 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
|
||||
[+exports+][+ IF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] \
|
||||
cd [+subdir+]/[+module+] && \
|
||||
$(MAKE) [+args+] \
|
||||
CFLAGS="[+stage_cflags+]" LIBCFLAGS="[+stage_cflags+]" [+
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) \
|
||||
CFLAGS="[+stage_cflags+]" CXXFLAGS="[+stage_cflags+]" \
|
||||
LIBCFLAGS="[+stage_libcflags+]" \
|
||||
CFLAGS_FOR_TARGET="[+stage_libcflags+]" \
|
||||
CXXFLAGS_FOR_TARGET="[+stage_libcflags+]" [+args+] [+
|
||||
IF prev +][+poststage1_args+][+ ENDIF prev
|
||||
+] [+extra_make_flags+] \
|
||||
$(TARGET-stage[+id+]-[+prefix+][+module+])
|
||||
@ -961,7 +966,7 @@ clean-stage[+id+]-[+prefix+][+module+]:
|
||||
[+ all prefix="" subdir="$(HOST_SUBDIR)"
|
||||
exports="$(HOST_EXPORTS)"
|
||||
poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
|
||||
args="$(FLAGS_TO_PASS)"
|
||||
args="$(EXTRA_HOST_FLAGS)"
|
||||
poststage1_args="$(POSTSTAGE1_FLAGS_TO_PASS)" +]
|
||||
|
||||
.PHONY: check-[+module+] maybe-check-[+module+]
|
||||
@ -1059,7 +1064,7 @@ maybe-[+make_target+]-[+module+]: [+make_target+]-[+module+]
|
||||
|
||||
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
exports="$(RAW_CXX_TARGET_EXPORTS)"
|
||||
args="$(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
|
||||
args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
|
||||
[+ ELSE +]
|
||||
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
check_multilibs=true
|
||||
@ -1070,7 +1075,7 @@ maybe-[+make_target+]-[+module+]: [+make_target+]-[+module+]
|
||||
|
||||
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
exports="$(NORMAL_TARGET_EXPORTS)"
|
||||
args="$(TARGET_FLAGS_TO_PASS)" +]
|
||||
args="$(EXTRA_TARGET_FLAGS)" +]
|
||||
[+ ENDIF +]
|
||||
|
||||
.PHONY: check-target-[+module+] maybe-check-target-[+module+]
|
||||
|
@ -1,3 +1,8 @@
|
||||
2008-02-20 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR bootstrap/32009
|
||||
* mh-ppc-darwin (BOOT_CFLAGS): Reenable.
|
||||
|
||||
2008-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* futex.m4: New file.
|
||||
|
@ -2,5 +2,4 @@
|
||||
# position-independent-code -- the usual default on Darwin. This fix speeds
|
||||
# compiles by 3-5%.
|
||||
|
||||
# Broken because of PR32009.
|
||||
# BOOT_CFLAGS=-g -O2 -mdynamic-no-pic
|
||||
BOOT_CFLAGS=-g -O2 -mdynamic-no-pic
|
||||
|
36
configure
vendored
36
configure
vendored
@ -272,7 +272,7 @@ PACKAGE_STRING=
|
||||
PACKAGE_BUGREPORT=
|
||||
|
||||
ac_unique_file="move-if-change"
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@ -5147,6 +5147,38 @@ else
|
||||
fi;
|
||||
|
||||
|
||||
# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
|
||||
# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
|
||||
# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
|
||||
# We want to ensure that TARGET libraries (which we know are built with
|
||||
# gcc) are built with "-O2 -g", so include those options when setting
|
||||
# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
|
||||
if test "x$CFLAGS_FOR_TARGET" = x; then
|
||||
CFLAGS_FOR_TARGET=$CFLAGS
|
||||
case " $CFLAGS " in
|
||||
*" -O2 "*) ;;
|
||||
*) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
|
||||
esac
|
||||
case " $CFLAGS " in
|
||||
*" -g "* | *" -g3 "*) ;;
|
||||
*) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
if test "x$CXXFLAGS_FOR_TARGET" = x; then
|
||||
CXXFLAGS_FOR_TARGET=$CXXFLAGS
|
||||
case " $CXXFLAGS " in
|
||||
*" -O2 "*) ;;
|
||||
*) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
|
||||
esac
|
||||
case " $CXXFLAGS " in
|
||||
*" -g "* | *" -g3 "*) ;;
|
||||
*) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Handle --with-headers=XXX. If the value is not "yes", the contents of
|
||||
# the named directory are copied to $(tooldir)/sys-include.
|
||||
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
|
||||
@ -12825,6 +12857,8 @@ s,@gmpinc@,$gmpinc,;t t
|
||||
s,@stage1_languages@,$stage1_languages,;t t
|
||||
s,@SYSROOT_CFLAGS_FOR_TARGET@,$SYSROOT_CFLAGS_FOR_TARGET,;t t
|
||||
s,@DEBUG_PREFIX_CFLAGS_FOR_TARGET@,$DEBUG_PREFIX_CFLAGS_FOR_TARGET,;t t
|
||||
s,@CFLAGS_FOR_TARGET@,$CFLAGS_FOR_TARGET,;t t
|
||||
s,@CXXFLAGS_FOR_TARGET@,$CXXFLAGS_FOR_TARGET,;t t
|
||||
s,@RPATH_ENVVAR@,$RPATH_ENVVAR,;t t
|
||||
s,@tooldir@,$tooldir,;t t
|
||||
s,@build_tooldir@,$build_tooldir,;t t
|
||||
|
32
configure.ac
32
configure.ac
@ -1667,6 +1667,38 @@ AC_ARG_WITH([debug-prefix-map],
|
||||
[DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
|
||||
AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
|
||||
|
||||
# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
|
||||
# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
|
||||
# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
|
||||
# We want to ensure that TARGET libraries (which we know are built with
|
||||
# gcc) are built with "-O2 -g", so include those options when setting
|
||||
# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
|
||||
if test "x$CFLAGS_FOR_TARGET" = x; then
|
||||
CFLAGS_FOR_TARGET=$CFLAGS
|
||||
case " $CFLAGS " in
|
||||
*" -O2 "*) ;;
|
||||
*) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
|
||||
esac
|
||||
case " $CFLAGS " in
|
||||
*" -g "* | *" -g3 "*) ;;
|
||||
*) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(CFLAGS_FOR_TARGET)
|
||||
|
||||
if test "x$CXXFLAGS_FOR_TARGET" = x; then
|
||||
CXXFLAGS_FOR_TARGET=$CXXFLAGS
|
||||
case " $CXXFLAGS " in
|
||||
*" -O2 "*) ;;
|
||||
*) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
|
||||
esac
|
||||
case " $CXXFLAGS " in
|
||||
*" -g "* | *" -g3 "*) ;;
|
||||
*) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(CXXFLAGS_FOR_TARGET)
|
||||
|
||||
# Handle --with-headers=XXX. If the value is not "yes", the contents of
|
||||
# the named directory are copied to $(tooldir)/sys-include.
|
||||
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
|
||||
|
@ -1,3 +1,9 @@
|
||||
2008-02-20 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* doc/install.texi: Correct references to CFLAGS, replacing them
|
||||
with BOOT_CFLAGS. Document flags used during bootstrap for
|
||||
target libraries.
|
||||
|
||||
2008-02-20 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
|
||||
|
@ -1762,33 +1762,35 @@ same described above, but object files from the stage1 and
|
||||
stage2 of the 3-stage bootstrap of the compiler are deleted as
|
||||
soon as they are no longer needed.
|
||||
|
||||
If you want to save additional space during the bootstrap and in
|
||||
the final installation as well, you can build the compiler binaries
|
||||
without debugging information as in the following example. This will save
|
||||
roughly 40% of disk space both for the bootstrap and the final installation.
|
||||
(Libraries will still contain debugging information.)
|
||||
If you wish to use non-default GCC flags when compiling the stage2
|
||||
and stage3 compilers, set @code{BOOT_CFLAGS} on the command line when
|
||||
doing @samp{make}. For example, if you want to save additional space
|
||||
during the bootstrap and in the final installation as well, you can
|
||||
build the compiler binaries without debugging information as in the
|
||||
following example. This will save roughly 40% of disk space both for
|
||||
the bootstrap and the final installation. (Libraries will still contain
|
||||
debugging information.)
|
||||
|
||||
@smallexample
|
||||
make CFLAGS='-O' LIBCFLAGS='-g -O2' \
|
||||
LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
|
||||
make BOOT_CFLAGS='-O' bootstrap
|
||||
@end smallexample
|
||||
|
||||
If you wish to use non-default GCC flags when compiling the stage2 and
|
||||
stage3 compilers, set @code{BOOT_CFLAGS} on the command line when doing
|
||||
@samp{make}. Non-default optimization flags are less well
|
||||
tested here than the default of @samp{-g -O2}, but should still work.
|
||||
In a few cases, you may find that you need to specify special flags such
|
||||
as @option{-msoft-float} here to complete the bootstrap; or, if the
|
||||
native compiler miscompiles the stage1 compiler, you may need to work
|
||||
around this, by choosing @code{BOOT_CFLAGS} to avoid the parts of the
|
||||
stage1 compiler that were miscompiled, or by using @samp{make
|
||||
You can place non-default optimization flags into @code{BOOT_CFLAGS}; they
|
||||
are less well tested here than the default of @samp{-g -O2}, but should
|
||||
still work. In a few cases, you may find that you need to specify special
|
||||
flags such as @option{-msoft-float} here to complete the bootstrap; or,
|
||||
if the native compiler miscompiles the stage1 compiler, you may need
|
||||
to work around this, by choosing @code{BOOT_CFLAGS} to avoid the parts
|
||||
of the stage1 compiler that were miscompiled, or by using @samp{make
|
||||
bootstrap4} to increase the number of stages of bootstrap.
|
||||
|
||||
Note that using non-standard @code{CFLAGS} can cause bootstrap to fail
|
||||
if these trigger a warning with the new compiler. For example using
|
||||
@samp{-O2 -g -mcpu=i686} on @code{i686-pc-linux-gnu} will cause bootstrap
|
||||
failure as @option{-mcpu=} is deprecated in 3.4.0 and above.
|
||||
|
||||
@code{BOOT_CFLAGS} does not apply to bootstrapped target libraries.
|
||||
Since these are always compiled with the compiler currently being
|
||||
bootstrapped, you can use @code{CFLAGS_FOR_TARGET} to modify their
|
||||
compilation flags, as for non-bootstrapped target libraries.
|
||||
Again, if the native compiler miscompiles the stage1 compiler, you may
|
||||
need to work around this by avoiding non-working parts of the stage1
|
||||
compiler. Use @code{STAGE1_LIBCFLAGS} to this end.
|
||||
|
||||
If you used the flag @option{--enable-languages=@dots{}} to restrict
|
||||
the compilers to be built, only those you've actually enabled will be
|
||||
@ -2679,8 +2681,8 @@ cross-compilers on the Alpha for 32-bit machines has only been tested in
|
||||
a few cases and may not work properly.
|
||||
|
||||
@samp{make compare} may fail on old versions of DEC Unix unless you add
|
||||
@option{-save-temps} to @code{CFLAGS}. On these systems, the name of the
|
||||
assembler input file is stored in the object file, and that makes
|
||||
@option{-save-temps} to @code{BOOT_CFLAGS}. On these systems, the name
|
||||
of the assembler input file is stored in the object file, and that makes
|
||||
comparison fail if it differs between the @code{stage1} and
|
||||
@code{stage2} compilations. The option @option{-save-temps} forces a
|
||||
fixed name to be used for the assembler input file, instead of a
|
||||
|
Loading…
x
Reference in New Issue
Block a user