aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog16
-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
7 files changed, 76 insertions, 1 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index f45a3cc..ba8fd00 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,19 @@
+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.
diff --git a/config/bootstrap-debug-big.mk b/config/bootstrap-debug-big.mk
new file mode 100644
index 0000000..855ddc2
--- /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 0000000..909b904
--- /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 0000000..e215280
--- /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 0000000..32fdf4d
--- /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 521be82..4138924 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 0000000..08a8dff
--- /dev/null
+++ b/config/bootstrap-time.mk
@@ -0,0 +1,2 @@
+BOOT_CFLAGS += -time=$(shell pwd)/time.log
+TFLAGS += -time=$(shell pwd)/time.log