aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2008-02-20 14:10:40 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2008-02-20 14:10:40 +0000
commit1c8bd6a397365e8cc69507f8c311f1fda3d6ebec (patch)
treeff6c197dd4b6d512bf3dd43798820a3c00b0059d /gcc/doc
parentd6023b50b76589447736d8c91cb4bde1a71e732f (diff)
downloadgcc-1c8bd6a397365e8cc69507f8c311f1fda3d6ebec.zip
gcc-1c8bd6a397365e8cc69507f8c311f1fda3d6ebec.tar.gz
gcc-1c8bd6a397365e8cc69507f8c311f1fda3d6ebec.tar.bz2
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
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/install.texi48
1 files changed, 25 insertions, 23 deletions
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 8411f44..9569f9b 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -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