summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog43
-rw-r--r--config/bootstrap-debug-big.mk8
-rw-r--r--config/bootstrap-debug-ckovw.mk16
-rw-r--r--config/bootstrap-debug-lean.mk11
-rw-r--r--config/bootstrap-debug-lib.mk12
-rw-r--r--config/bootstrap-debug.mk12
-rw-r--r--config/bootstrap-time.mk2
-rw-r--r--config/extensions.m47
-rw-r--r--config/no-executables.m44
-rw-r--r--config/override.m427
-rw-r--r--config/tls.m44
11 files changed, 133 insertions, 13 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index 6bd7bbf5416..ba8fd0011e6 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,41 @@
+2009-09-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * bootstrap-debug-big.mk (STAGE2_CFLAGS): Drop -gtoggle.
+ * bootstrap-debug-lean.mk: Update comments.
+ (STAGE2_CFLAGS): Likewise.
+ (do-compare): Don't override.
+
+2009-09-01 Alexandre Oliva <aoliva@redhat.com>
+
+ * bootstrap-debug.mk: Add comments.
+ * bootstrap-debug-big.mk: New.
+ * bootstrap-debug-lean.mk: New.
+ * bootstrap-debug-ckovw.mk: Add comments.
+ * bootstrap-debug-lib.mk: Drop CFLAGS for stages. Use -g0
+ for TFLAGS in stage1. Drop -fvar-tracking-assignments-toggle.
+
+2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.
+
+2009-08-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * override.m4 (AC_DISABLE_OPTION_CHECKING): Define to be
+ empty if not defined, to avoid error with 2.59.
+ (_AC_LANG_IO_PROGRAM): When the Autoconf version is exactly
+ 2.64, avoid per-language instances to drop fopen from test
+ program.
+
+2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Do not expand
+ for Autoconf 2.62 or newer.
+ * tls.m4 (GCC_CHECK_TLS): Fix m4 quotation.
+ * no-executables.m4 (_AC_COMPILER_EXEEXT): Fix m4 quotation.
+ * override.m4 (m4_copy_force, m4_rename_force): Provide
+ macros if not defined.
+ (AC_PREREQ): Use m4_copy_force.
+
2009-07-17 Joseph Myers <joseph@codesourcery.com>
PR other/40784
@@ -25,10 +63,7 @@
* bootstrap-O3.mk: New.
* bootstrap-debug.mk: New.
-2009-05-07 Paolo Bonzini
-
- Sync from src:
- 2009-02-02 Doug Evans <dje@google.com>
+2009-02-02 Doug Evans <dje@google.com>
* tcl.m4 (SC_PATH_TCLCONFIG): Don't exit 0 if tclconfig fails.
(SC_PATH_TKCONFIG): Don't exit 0 if tkconfig fails.
diff --git a/config/bootstrap-debug-big.mk b/config/bootstrap-debug-big.mk
new file mode 100644
index 00000000000..855ddc2a642
--- /dev/null
+++ b/config/bootstrap-debug-big.mk
@@ -0,0 +1,8 @@
+# This BUILD_CONFIG option is a bit like bootstrap-debug-lean, but it
+# trades space for speed: instead of recompiling programs during
+# stage3, it generates dumps during stage2 and stage3, saving them all
+# until the final compare.
+
+STAGE2_CFLAGS += -fdump-final-insns
+STAGE3_CFLAGS += -fdump-final-insns
+do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
diff --git a/config/bootstrap-debug-ckovw.mk b/config/bootstrap-debug-ckovw.mk
new file mode 100644
index 00000000000..909b9047fc2
--- /dev/null
+++ b/config/bootstrap-debug-ckovw.mk
@@ -0,0 +1,16 @@
+# This BUILD_CONFIG option is to be used along with
+# bootstrap-debug-lean and bootstrap-debug-lib in a full bootstrap, to
+# check that all host and target files are built with -fcompare-debug.
+
+# These arrange for a simple warning to be issued if -fcompare-debug
+# is not given.
+# BOOT_CFLAGS += -fcompare-debug="-w%n-fcompare-debug not overridden"
+# TFLAGS += -fcompare-debug="-w%n-fcompare-debug not overridden"
+
+# GCC_COMPARE_DEBUG="-w%n-fcompare-debug not overridden";
+
+FORCE_COMPARE_DEBUG = \
+ GCC_COMPARE_DEBUG=$${GCC_COMPARE_DEBUG--fcompare-debug-not-overridden}; \
+ export GCC_COMPARE_DEBUG;
+POSTSTAGE1_HOST_EXPORTS += $(FORCE_COMPARE_DEBUG)
+BASE_TARGET_EXPORTS += $(FORCE_COMPARE_DEBUG)
diff --git a/config/bootstrap-debug-lean.mk b/config/bootstrap-debug-lean.mk
new file mode 100644
index 00000000000..e215280b09f
--- /dev/null
+++ b/config/bootstrap-debug-lean.mk
@@ -0,0 +1,11 @@
+# This BUILD_CONFIG option is a bit like bootstrap-debug, but rather
+# than comparing stripped object files, it compares compiler internal
+# state during stage3. Both can be used simultaneously.
+
+# This makes it slower than bootstrap-debug alone, for there's
+# additional dumping and recompilation during stage3.
+# bootstrap-debug-big can avoid the recompilation, if plenty of disk
+# space is available.
+
+STAGE2_CFLAGS += -fcompare-debug=
+STAGE3_CFLAGS += -fcompare-debug
diff --git a/config/bootstrap-debug-lib.mk b/config/bootstrap-debug-lib.mk
new file mode 100644
index 00000000000..32fdf4dd863
--- /dev/null
+++ b/config/bootstrap-debug-lib.mk
@@ -0,0 +1,12 @@
+# This BUILD_CONFIG option tests that target libraries built during
+# stage3 would have generated the same executable code if they were
+# compiled with -g0.
+
+# It uses -g0 rather than -gtoggle because -g is default on target
+# library builds, and toggling it where it's supposed to be disabled
+# breaks e.g. crtstuff on ppc.
+
+STAGE1_TFLAGS += -g0 -fcompare-debug=
+STAGE2_TFLAGS += -fcompare-debug=
+STAGE3_TFLAGS += -fcompare-debug=-g0
+do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
diff --git a/config/bootstrap-debug.mk b/config/bootstrap-debug.mk
index 521be824194..41389241c05 100644
--- a/config/bootstrap-debug.mk
+++ b/config/bootstrap-debug.mk
@@ -1,2 +1,12 @@
-STAGE2_CFLAGS += -g0
+# This BUILD_CONFIG option builds checks that toggling debug
+# information generation doesn't affect the generated object code.
+
+# It is very lightweight: in addition to not performing any additional
+# compilation (unlike bootstrap-debug-lean), it actually speeds up
+# stage2, for no debug information is generated when compiling with
+# the unoptimized stage1.
+
+# For more thorough testing, see bootstrap-debug-lean.mk
+
+STAGE2_CFLAGS += -gtoggle
do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
diff --git a/config/bootstrap-time.mk b/config/bootstrap-time.mk
new file mode 100644
index 00000000000..08a8dff912b
--- /dev/null
+++ b/config/bootstrap-time.mk
@@ -0,0 +1,2 @@
+BOOT_CFLAGS += -time=$(shell pwd)/time.log
+TFLAGS += -time=$(shell pwd)/time.log
diff --git a/config/extensions.m4 b/config/extensions.m4
index 8ae4a675e2b..eb59f272119 100644
--- a/config/extensions.m4
+++ b/config/extensions.m4
@@ -1,7 +1,7 @@
-# serial 5 -*- Autoconf -*-
+# serial 6 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006, 2007, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -12,6 +12,8 @@
# enough in this area it's likely we'll need to redefine
# AC_USE_SYSTEM_EXTENSIONS for quite some time.
+m4_version_prereq([2.62],, [
+
# AC_USE_SYSTEM_EXTENSIONS
# ------------------------
# Enable extensions on systems that normally disable them,
@@ -74,3 +76,4 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
AC_DEFINE([_TANDEM_SOURCE])
])# AC_USE_SYSTEM_EXTENSIONS
+])
diff --git a/config/no-executables.m4 b/config/no-executables.m4
index c4d0b70c375..90616245ef9 100644
--- a/config/no-executables.m4
+++ b/config/no-executables.m4
@@ -25,7 +25,7 @@ AC_BEFORE([$0], [_AC_COMPILER_EXEEXT])
AC_BEFORE([$0], [AC_LINK_IFELSE])
m4_define([_AC_COMPILER_EXEEXT],
-AC_LANG_CONFTEST([AC_LANG_PROGRAM()])
+[AC_LANG_CONFTEST([AC_LANG_PROGRAM()])
# FIXME: Cleanup?
AS_IF([AC_TRY_EVAL(ac_link)], [gcc_no_link=no], [gcc_no_link=yes])
if test x$gcc_no_link = xyes; then
@@ -35,7 +35,7 @@ if test x$gcc_no_link = xyes; then
cross_compiling=yes
EXEEXT=
else
- m4_defn([_AC_COMPILER_EXEEXT])dnl
+ ]m4_defn([_AC_COMPILER_EXEEXT])dnl
fi
)
diff --git a/config/override.m4 b/config/override.m4
index 9bb149620c4..cfa225a339c 100644
--- a/config/override.m4
+++ b/config/override.m4
@@ -12,6 +12,16 @@ dnl
dnl The _GCC_AUTOCONF_VERSION_TEST ensures that exactly the desired
dnl Autoconf version is used. It should be kept for consistency.
+dnl Provide m4_copy_force and m4_rename_force for old Autoconf versions.
+
+m4_ifndef([m4_copy_force],
+[m4_define([m4_copy_force],
+[m4_ifdef([$2], [m4_undefine([$2])])m4_copy($@)])])
+
+m4_ifndef([m4_rename_force],
+[m4_define([m4_rename_force],
+[m4_ifdef([$2], [m4_undefine([$2])])m4_rename($@)])])
+
dnl m4_PACKAGE_VERSION is an undocumented Autoconf macro.
dnl We use it because this fix is intended for 2.59 only.
dnl A feature test for the broken AC_CONFIG_SUBDIRS instead
@@ -25,12 +35,12 @@ ifdef([m4_PACKAGE_VERSION],
[dnl AC_DEFUN a commonly used macro so this file is picked up.
m4_copy([AC_PREREQ], [_AC_PREREQ])
AC_DEFUN([AC_PREREQ], [frob])
-m4_copy([_AC_PREREQ], [AC_PREREQ])
+m4_copy_force([_AC_PREREQ], [AC_PREREQ])
dnl Ensure exactly this Autoconf version is used
m4_ifndef([_GCC_AUTOCONF_VERSION],
- [m4_define([_GCC_AUTOCONF_VERSION], [2.59])])
+ [m4_define([_GCC_AUTOCONF_VERSION], [2.64])])
dnl Test for the exact version when AC_INIT is expanded.
dnl This allows to update the tree in steps (for testing)
@@ -48,6 +58,19 @@ m4_define([AC_INIT], m4_defn([AC_INIT])[
_GCC_AUTOCONF_VERSION_CHECK
])
+
+dnl Turn AC_DISABLE_OPTION_CHECKING into a no-op if not defined.
+m4_ifndef([AC_DISABLE_OPTION_CHECKING],
+ [m4_define([AC_DISABLE_OPTION_CHECKING])])
+
+
+dnl Fix 2.64 cross compile detection for AVR and RTEMS
+dnl by not trying to compile fopen.
+m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.64],
+ [m4_foreach([_GCC_LANG], [C, C++, Fortran, Fortran 77],
+ [m4_define([_AC_LANG_IO_PROGRAM(]_GCC_LANG[)], m4_defn([AC_LANG_PROGRAM(]_GCC_LANG[)]))])])
+
+
m4_version_prereq([2.60],, [
dnl We use $ac_pwd in some of the overrides below; ensure its definition
m4_divert_push([PARSE_ARGS])dnl
diff --git a/config/tls.m4 b/config/tls.m4
index 099bdc257a8..ef7e6d0b555 100644
--- a/config/tls.m4
+++ b/config/tls.m4
@@ -11,8 +11,8 @@ AC_DEFUN([GCC_CHECK_TLS], [
chktls_save_LDFLAGS="$LDFLAGS"
LDFLAGS="-static $LDFLAGS"
AC_LINK_IFELSE([int main() { return 0; }],
- AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
- [gcc_cv_have_tls=yes], [gcc_cv_have_tls=no],[]),
+ [AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
+ [gcc_cv_have_tls=yes], [gcc_cv_have_tls=no],[])],
[gcc_cv_have_tls=yes])
LDFLAGS="$chktls_save_LDFLAGS"
if test $gcc_cv_have_tls = yes; then