gcc/ChangeLog:
2008-03-31 Seongbae Park <seongbae.park@gmail.com>
* common.opt (fprofile-dir=, fprofile-use=, fprofile-generate=):
New options
(fprofile-use): Add var flag_profile_use
* coverage.c (coverage_begin_output): Do not open a gcno file for output
only if -ftest-coverage is set.
Do not add getpwd() to gcda file path.
(build_gcov_info): Check the new flag
flag_profile_datafile_relative_path.
(coverage_init): Use profile_data_prefix.
Read profile counter only if flag_profile_use is set.
* opts.c (common_handle_option): New option fprofile-use=,
fprofile-dir=, fprofile-generate=.
* toplev.c (profile_data_prefix): New variable definition.
* toplev.h (profile_data_prefix): New declaration.
* doc/invoke.tex (Option Summary, Optimization Options):
Add new options.
gcc/testsuite/ChangeLog:
2008-03-31 Seongbae Park <seongbae.park@gmail.com>
* g++.db/bprob/bprob.exp: Do not check gcno files.
Use -fprofile-use for profile use.
* gcc.misc-tests/bprob.exp: Ditto.
* g++.dg/tree-pro/tree-prof.exp: Do not check gcno files.
* gcc.dg/matrix/matrix.exp: Ditto.
* gcc.dg/struct/struct-reorg.exp: Ditto.
* gcc.dg/tree-prof/tree-prof.exp: Ditto.
* gcc.dg/profile-dir-1.c: New test.
* gcc.dg/profile-dir-2.c: New test.
* gcc.dg/profile-dir-3.c: New test.
ChangeLog:
2008-03-31 Seongbae Park <seongbae.park@gmail.com>
* Makefile.tpl (.NOTPARALLEL): Serialize stageprofile libiberty.
* Makefile.in (.NOTPARALLEL): Regenerate.
From-SVN: r133774
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
2007-01-23 Richard Guenther <rguenther@suse.de>
PR bootstrap/30541
* Makefile.def (flags_to_pass): Add GNATBIND and GNATMAKE.
* Makefile.tpl (GNATBIND): Substitute it.
(GNATMAKE): Likewise.
(POSTSTAGE1_FLAGS_TO_PASS): Pass staged GNATBIND instead
of STAGE_PREFIX.
* Makefile.in: Regenerate.
* configure: Regenerate.
config/
* acx.m4 (ACX_PROG_GNAT): Check for gnatmake.
libada/
* Makefile.in (STAGE_PREFIX): Do not define.
(FLAGS_TO_PASS): Do not pass STAGE_PREFIX.
gnattools/
* Makefile.in (STAGE_PREFIX): Do not define.
ada/
* Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
(gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
(gnatboot3): Likewise.
(GNATBIND): Do not define.
* Makefile.in (GNATBIND): Do not define.
From-SVN: r121082
2006-11-14 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (clean-stage*): Test separately for package/Makefile
and stageN-package/Makefile.
* Makefile.in: Regenerated.
From-SVN: r118810
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir
for stages after the first.
config:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* acx.m4: Support --with-build-libsubdir and AC_SUBST
build_libsubdir.
gcc:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
* Makefile.in (build_libsubdir): New configure substitution
(build_libobjdir): New variable.
(BUILD_LIBIBERTY): Use it.
libgfortran:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
libjava:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
libobjc:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
From-SVN: r115552
2006-06-15 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Export CFLAGS and LDFLAGS
too.
* Makefile.in: Regenerate.
gcc:
2006-06-15 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (CFLAGS): Get them from the toplevel or from the
configure invocation.
* configure: Regenerate.
* Makefile.in (CFLAGS): Substitute value provided by configure.
From-SVN: r114673
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-01-04 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/24252
* Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES.
* Makefile.tpl (OBJDUMP): New.
(EXTRA_HOST_FLAGS): Add it.
(EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass.
* Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try
to use symbolic links between directories. Avoid race conditions
or make them harmless.
* configure.in: Do not try to use symbolic links between directories.
* Makefile.def (LEAN): Pass.
* Makefile.tpl (LEAN): Define.
(stage[+id+]-start): Accept that the previous directory does not
exist, if the bootstrap is lean.
(stage[+id+]-bubble): Invoke lean bootstrap commands after
stage[+id+]-start. Use a makefile variable and an `if' instead of a
configure substitution.
([+compare-target+]): Likewise.
([+bootstrap-target+]-lean): New.
* configure.in: Remove lean bootstrap support from here.
* Makefile.in: Regenerate.
* configure: Regenerate.
From-SVN: r109325
2005-12-20 Paolo Bonzini <bonzini@gnu.org>
Revert Ada-related part of the previous change.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, ADAFLAGS_FOR_TARGET):
Do not pass.
* Makefile.tpl (BOOT_ADAFLAGS): Do not define.
* Makefile.in: Regenerate.
* configure.in: Do not include mt-ppc-aix target fragment.
* configure: Regenerate.
config:
2005-12-20 Paolo Bonzini <bonzini@gnu.org>
Revert Ada-related part of the previous change.
* mt-ppc-aix: Delete.
From-SVN: r108856
toplevel:
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* configure.in (CONFIGURED_BISON, CONFIGURED_YACC, CONFIGURED_M4,
CONFIGURED_FLEX, CONFIGURED_LEX, CONFIGURED_MAKEINFO): Remove
"CONFIGURED_" from the AC_CHECK_PROGS invocation. Move below.
Find in-tree tools if available.
(EXPECT, RUNTEST, LIPO, STRIP): Find them and substitute them.
(CONFIGURED_*_FOR_TARGET): Don't set nor substitute.
(*_FOR_TARGET): Set them with GCC_TARGET_TOOL.
(COMPILER_*_FOR_TARGET): New.
* Makefile.tpl (HOST_EXPORTS): Add *_FOR_TARGET symbols that gcc needs.
(BASE_TARGET_EXPORTS): Use COMPILER_*_FOR_TARGET symbols.
(CONFIGURED_*, USUAL_*): Remove.
(BISON, YACC, FLEX, LEX, M4, MAKEINFO, EXPECT, RUNTEST, LIPO,
STRIP): Use autoconf substitutions.
(COMPILER_AS_FOR_TARGET, COMPILER_LD_FOR_TARGET,
COMPILER_NM_FOR_TARGET): New.
(EXTRA_HOST_FLAGS): Pass LIPO and STRIP.
(all): Make all-host and all-target in parallel.
(do-[+make_target+], do-check, install, [+compare-target+]): Ensure
that $$r and $$s are set before invoking a recursive make.
(stage[+id+]-bubble): Likewise, and invoke the comparison at the end.
([+bootstrap-target+]): Inline most of the `all' target.
config:
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* acx.m4 (GCC_TARGET_TOOL): New.
From-SVN: r108059
2005-10-05 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (all) [gcc-no-bootstrap]: Make prebootstrap packages
before other host packages.
From-SVN: r105002
2005-10-05 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/22340
* configure.in (default_target): Remove.
* Makefile.tpl (all): Do not use prerequisites as subroutines
(all) [gcc-bootstrap]: Bootstrap gcc first if it was not done yet.
(do-[+make_target+], check, install, [+bootstrap_target+]): Do not
use prerequisites as subroutines.
(check-host, check-target): New.
(bootstrap configure & all targets): Do not use stage*-start
if the directory layout is already ok.
(non-bootstrap configure & all targets): Prepend a $(unstage).
(stage[+id+]-bubble): Do that here. Do not use NOTPARALLEL.
(NOTPARALLEL): Remove.
(unstage, stage variables): New variables.
(unstage, stage targets): Simply expand to those variables.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r104978
* doc/install.texi (--with-build-sysroot): Fix grammatical error.
Clarify use of "build" in name.
* Makefile.tpl (SYSROOT_CFLAGS_FOR_TARGET): New variable.
(CFLAGS_FOR_TARGET): Use it.
(CXXFLAGS_FOR_TARGET): Likewise.
* Makefile.in: Regenerated.
* configure.in (--with-build-sysroot): New option.
* configure: Regenerated.
From-SVN: r102389
2005-05-25 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (stage[+id+]-start): Iterate over target module as well.
(Dependencies): Consider target modules for bootstrap dependencies.
Make target bootstrap modules depend on each stage's gcc.
* Makefile.in: Regenerate.
From-SVN: r100151
2005-04-06 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir.
(TARGET_CONFIGARGS): Include --with-target-subdir.
(configure, all): New macros. Use them throughout.
* Makefile.in: Regenerate.
From-SVN: r97700
* Makefile.def: Remove libstdcxx_incdir, libsubdir, gxx_include_dir,
gcc_version, and gcc_version_trigger from set of flags to pass.
* Makefile.tpl: Remove definitions of above variables.
(config.status): Remove dependency on $(gcc_version_trigger).
* Makefile.in: Regenerate.
* configure.in: Do not reference config/gcc-version.m4 nor
config/gxx-include-dir.m4. Do not invoke TL_AC_GCC_VERSION nor
TL_AC_GXX_INCLUDE_DIR. Do not set gcc_version_trigger.
* configure: Regenerate.
From-SVN: r96827
2004-12-28 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/17383
* Makefile.def (target_modules): Remove stage parameter,
it is always true now.
* Makefile.tpl (configure-build-[+module+],
configure-target-[+module+]): Always build symlink tree
for the directory and for include. BUILD_SUBDIR and
TARGET_SUBDIR cannot be . anymore.
* Makefile.in: Regenerate.
From-SVN: r92674
2004-12-02 Eric Christopher <echristo@redhat.com>
* Makefile.tpl (clean-target-libgcc): Make change in correct place.
* Makefile.in: Regenerate.
From-SVN: r91666
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-06 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (bfd, opcodes, gcc, zlib): Mark as bootstrap module.
(bison, byacc, flex, texinfo): Do not mark as bootstrap module.
(Dependencies): New section.
* Makefile.tpl (Dependencies): Generate from Makefile.def.
(configure-target-[+module+]): Depend on maybe-all-gcc
(all-prebootstrap): New name of all-bootstrap. Changed throughout.
(toplevel profiledbootstrap): Fix dependencies.
* Makefile.in: Regenerate.
From-SVN: r85629
2004-08-03 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (host-modules): Add gcc.
* Makefile.in: Regenerate.
* Makefile.tpl (sorry): New rule.
(configure-host, all-host, [+make_target+]-host, do-check,
install-host): Do not add gcc as a special case.
(host modules): Add a small special-casing for gcc. Export
extra_make_flags through the environment.
(maybe-configure-gcc, configure-gcc, maybe-all-gcc, all-gcc,
maybe-check-gcc, check-gcc, maybe-install-gcc, install-gcc,
other recursive targets for gcc): Remove.
(all, do-[+make_target+], do-check): Wrap between unstage and stage.
(stage, unstage): New rules.
(stage[+id+]-start, stage[+id+]-end, [+compare-target+],
distclean-stage[+id+]): Use stage_current.
([+bootstrap-target+], profiledbootstrap): Do not invoke manually
the stage*-start rules.
From-SVN: r85468
* Makefile.def (host_modules): Set bootstrap=true for flex.
* Makefile.tpl (all-gcc): Depend on texinfo and flex.
* Makefile.in: Rebuilt.
From-SVN: r84305
2004-07-01 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (build_modules): Add bison, byacc, flex,
m4, texinfo.
(flags_to_pass): Add FLEX.
* Makefile.tpl (BUILD_DIR_PREFIX, BASE_EXPORTS): New.
(BUILD_EXPORTS, HOST_EXPORTS, BASE_TARGET_EXPORTS): Include it.
(DEFAULT_YACC, USUAL_YACC, DEFAULT_LEX, USUAL_LEX, DEFAULT_M4,
DEFAULT_MAKEINFO): Remove.
(CONFIGURED_YACC, CONFIGURED_FLEX, CONFIGURED_BISON,
CONFIGURED_LEX, CONFIGURED_M4, CONFIGURED_MAKEINFO): Substitute.
(YACC, FLEX, BISON, LEX, M4, MAKEINFO): Define to look into
objdir or else use configured tool.
(all-build): New.
(all): Depend on it.
(Build module dependencies): Add.
* Makefile.in: Regenerate.
* configure.in: Better support for multiple build modules,
matching what is done for host/target modules. Do not look
for "plausible" locations of build tools if Canadian cross.
Use autoconf's AC_PROG_CC to find a C compiler. Define
BUILD_DIR_PREFIX. Look for flex, makeinfo and m4.
* configure: Regenerate.
From-SVN: r84017
2004-06-09 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (touch-stage[+id+]): New.
(restage[+prev+]): Depend on touch-stage[+id+].
* Makefile.tpl (RECURSE_FLAGS_TO_PASS): New.
Use it throughout.
* Makefile.def: Add profile and feedback bootstrap stages.
Remove next field from bootstrap stages.
* Makefile.tpl (LN, LN_S): Substitute.
(stageN-start, stageN-end): Use double-colon rules, to
provide a hook for additional setup commands.
(distclean-stageN-gcc, restageN): Create dependencies from
[+prev+], not from [+next+].
(stageN-bubble): Add commands for successive stages from
[+prev+], using double-colon rules.
(all-stageN-gcc): Fix typo.
(stagefeedback-start, profiledbootstrap): New.
* Makefile.in: Regenerate.
* configure.in: Call ACX_PROG_LN.
* configure: Regenerate.
config/ChangeLog:
2004-06-09 Paolo Bonzini <bonzini@gnu.org>
* acx.m4 (ACX_PROG_LN): From gcc, modified to
accept a parameter.
gcc/ChangeLog:
2004-06-09 Paolo Bonzini <bonzini@gnu.org>
* aclocal.m4 (gcc_AC_PROG_LN): Remove.
(gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
config.in entries.
* configure.ac: Call ACX_PROG_LN, falling back to $LN_S
if hard links are not available.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r82816
2004-06-01 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (all.normal): Rename to all.
(all): Replace with a rule to pick the default
target from configure.
(all-gcc, configure-gcc): Use conditionals to
do nothing when toplevel bootstrap is going on.
(GCC directory bootstrap) [gcc-bootstrap]: Disable.
(Toplevel bootstrap) [gcc-no-bootstrap]: Disable.
* configure.in: Support --enable-bootstrap.
* Makefile.def: Remove new- prefix from toplevel
bootstrap targets.
* Makefile.tpl: Likewise.
* Makefile.def: Add bootstrap_stage 4. Add bootstrap2
target.
* Makefile.tpl (Toplevel bootstrap): Pass $(BASE_FLAGS_TO_PASS)
$(RECURSE_FLAGS) to recursive invocation of make.
* Makefile.in: Regenerate.
* configure: Regenerate.
From-SVN: r82534
(STAGE_HOST_EXPORTS, BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS)
(NORMAL_TARGET_EXPORTS): New macros. Use them in all the recursive
targets.
* Makefile.in: Regenerate.
From-SVN: r82257