From 96655cc4cc3942aa552f40cf22f2d3fa6d8b3704 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 7 Sep 2009 00:44:08 +0000 Subject: ChangeLog: * configure.ac (with-build-config): Document. Handle without. Handle missing argument. * configure: Rebuilt. config/ChangeLog: * bootstrap-debug-big.mk (STAGE2_CFLAGS): Drop -gtoggle. * bootstrap-debug-lean.mk: Update comments. (STAGE2_CFLAGS): Likewise. (do-compare): Don't override. ChangeLog: * configure.ac (with-build-config): Document. Handle without. Handle missing argument. * configure: Rebuilt. --- config/ChangeLog | 16 ++++++++++++++++ config/bootstrap-debug-big.mk | 8 ++++++++ config/bootstrap-debug-ckovw.mk | 16 ++++++++++++++++ config/bootstrap-debug-lean.mk | 11 +++++++++++ config/bootstrap-debug-lib.mk | 12 ++++++++++++ config/bootstrap-debug.mk | 12 +++++++++++- config/bootstrap-time.mk | 2 ++ 7 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 config/bootstrap-debug-big.mk create mode 100644 config/bootstrap-debug-ckovw.mk create mode 100644 config/bootstrap-debug-lean.mk create mode 100644 config/bootstrap-debug-lib.mk create mode 100644 config/bootstrap-time.mk (limited to 'config') 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 + + * 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 + + * 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 * 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 -- cgit v1.1