> -----Original Message-----
> From: Nathanael Nerode <[email protected]>
> Sent: 19 October 2026 18:48
> To: Tamar Christina <[email protected]>; [email protected]
> Cc: nd <[email protected]>; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Subject: Re: [patch][build-system]: strip checking flags when compiling GMP
> to fix LTO bootstrap [PR127376]
> 
> I approve this.  I'm basically inactive and can't commit anything right now,
> someone else will have to.

Thank you!

I have commit access and will commit in a bit.

Cheers,
Tamar

> 
> On Sun, Oct 18, 2026, at 10:00 AM, Tamar Christina wrote:
> > Ping.
> >
> >> -----Original Message-----
> >> From: Tamar Christina <[email protected]>
> >> Sent: 05 October 2026 12:48
> >> To: Tamar Christina <[email protected]>; [email protected]
> >> Cc: nd <[email protected]>; [email protected]; [email protected];
> >> [email protected]; [email protected]; [email protected]
> >> Subject: RE: [patch][build-system]: strip checking flags when compiling
> GMP
> >> to fix LTO bootstrap [PR127376]
> >>
> >> Ping.
> >>
> >> > -----Original Message-----
> >> > From: Tamar Christina <[email protected]>
> >> > Sent: 28 September 2026 08:06
> >> > To: [email protected]
> >> > Cc: nd <[email protected]>; [email protected]; [email protected];
> >> > [email protected]; [email protected]; [email protected]
> >> > Subject: [patch][build-system]: strip checking flags when compiling GMP
> to
> >> fix
> >> > LTO bootstrap [PR127376]
> >> >
> >> > LTO bootstrap currently fails due to MPFR and GMP failing stage2 vs
> stage3
> >> > comparison:
> >> >
> >> >   mpfr/src/urandom.o differs
> >> >   mpfr/src/urandomb.o differs
> >> >   mpfr/src/vasprintf.o differs
> >> >   mpfr/src/yn.o differs
> >> >   mpfr/src/zeta.o differs
> >> >   mpfr/src/zeta_ui.o differs
> >> >
> >> > of pretty much every object file for mpfr and mpc.
> >> >
> >> > This is because in Makefile.tpl +579 we have
> >> >
> >> > STAGE1_TFLAGS += -fno-checking
> >> > STAGE2_CFLAGS += -fno-checking
> >> > STAGE2_TFLAGS += -fno-checking
> >> > STAGE3_CFLAGS += -fchecking=1
> >> > STAGE3_TFLAGS += -fchecking=1
> >> >
> >> > But with a LTO bootstrap the options leak into the LTO metadata due to
> the
> >> > headers ending up with the checking flags inside them.
> >> >
> >> >   stage2-gmp/gmp.h:2334  #define __GMP_CC " ... -fno-checking"
> >> >   stage3-gmp/gmp.h:2334  #define __GMP_CC " ... -fchecking=1"
> >> >
> >> > during an LTO bootstrap we call compare-lto which strips the options
> from
> >> > .gnu.lto_.opts but they're also present in .gnu.lto_.decls.*.
> >> >
> >> > So we get a miscompare due to -fchecking differences.
> >> >
> >> > Since MPFR and GMP are C programs just prevent -fno-checking and -
> >> > fchecking=1
> >> > from getting passed to them.
> >> >
> >> > This patch adds a little autogen macro and Scheme function to strip out
> >> these
> >> > flags only for mpfr and gmp.
> >> >
> >> > Bootstrapped Regtested on aarch64-none-linux-gnu,
> >> > arm-none-linux-gnueabihf, x86_64-pc-linux-gnu
> >> > -m32, -m64
> >> >
> >> > with:
> >> >
> >> >  - default bootstrap
> >> >  - profiledbootstrap
> >> >  - LTO bootstrap
> >> >  - LTO+O3
> >> >  - bootstrap lto locality
> >> >  - boostrap LTO lean
> >> >
> >> > Ok for master?
> >> >
> >> > Thanks,
> >> > Tamar
> >> >
> >> > ChangeLog:
> >> >
> >> >  PR bootstrap/127376
> >> >  * Makefile.in: Renegerate.
> >> >  * Makefile.tpl: Strip checking flags for mpfr and gmp.
> >> >
> >> > ---
> >> > diff --git a/Makefile.in b/Makefile.in
> >> > index
> >> >
> >>
> 767d6aab977aa722205275902bdef15635053f25..10adfcebaef9e03caf5f7e
> >> > 57b92538ed5e21e4bc 100644
> >> > --- a/Makefile.in
> >> > +++ b/Makefile.in
> >> > @@ -700,6 +700,9 @@ STAGEautofeedback_TFLAGS =
> $(STAGE3_TFLAGS)
> >> >  # may result in additional warnings.
> >> >  STAGEautofeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-
> >> > always,$(STAGE_CONFIGURE_FLAGS))
> >> >
> >> > +GMP_CHECKING_FLAGS = -fno-checking -fchecking=1
> >> > +GMP_FILTER_CHECKING_FLAGS = $(filter-out
> >> > $(GMP_CHECKING_FLAGS),$(1))
> >> > +
> >> >  do-compare = @do_compare@
> >> >  do-compare3 = $(do-compare)
> >> >
> >> > @@ -13383,10 +13386,10 @@ configure-stage1-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE1_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE1_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE1_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 1 in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13416,11 +13419,11 @@ configure-stage2-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE2_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE2_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE2_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 2 in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13450,11 +13453,11 @@ configure-stage3-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE3_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE3_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE3_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 3 in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13484,11 +13487,11 @@ configure-stage4-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE4_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE4_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE4_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 4 in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13518,11 +13521,11 @@ configure-stageprofile-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEprofile_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEprofile_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEprofile_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEprofile_CFLAGS))"; export
> CFLAGS;
> >> \
> >> >          CXXFLAGS="$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEprofile_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage profile in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13552,11 +13555,11 @@ configure-stagetrain-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEtrain_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEtrain_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEtrain_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEtrain_CFLAGS))"; export CFLAGS;
> \
> >> >          CXXFLAGS="$(STAGEtrain_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEtrain_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage train in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13586,11 +13589,11 @@ configure-stagefeedback-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEfeedback_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEfeedback_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEfeedback_CFLAGS))"; export
> >> CFLAGS;
> >> > \
> >> >          CXXFLAGS="$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage feedback in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13620,11 +13623,11 @@ configure-stageautoprofile-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautoprofile_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEautoprofile_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautoprofile_CFLAGS))"; export
> >> > CFLAGS; \
> >> >          CXXFLAGS="$(STAGEautoprofile_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEautoprofile_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage autoprofile in $(HOST_SUBDIR)/gmp; \
> >> > @@ -13654,11 +13657,11 @@ configure-stageautofeedback-gmp:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautofeedback_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEautofeedback_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautofeedback_CFLAGS))"; export
> >> > CFLAGS; \
> >> >          CXXFLAGS="$(STAGEautofeedback_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEautofeedback_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage autofeedback in $(HOST_SUBDIR)/gmp; \
> >> > @@ -15657,10 +15660,10 @@ configure-stage1-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE1_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE1_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE1_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 1 in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15690,11 +15693,11 @@ configure-stage2-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE2_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE2_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE2_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 2 in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15724,11 +15727,11 @@ configure-stage3-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE3_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE3_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE3_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 3 in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15758,11 +15761,11 @@ configure-stage4-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE4_TFLAGS)"; \
> >> > +        TFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE4_TFLAGS))";
> >> > \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call GMP_FILTER_CHECKING_FLAGS,$(STAGE4_CFLAGS))";
> >> > export CFLAGS; \
> >> >          CXXFLAGS="$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage 4 in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15792,11 +15795,11 @@ configure-stageprofile-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEprofile_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEprofile_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEprofile_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEprofile_CFLAGS))"; export
> CFLAGS;
> >> \
> >> >          CXXFLAGS="$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEprofile_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage profile in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15826,11 +15829,11 @@ configure-stagetrain-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEtrain_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEtrain_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEtrain_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEtrain_CFLAGS))"; export CFLAGS;
> \
> >> >          CXXFLAGS="$(STAGEtrain_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEtrain_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage train in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15860,11 +15863,11 @@ configure-stagefeedback-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEfeedback_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEfeedback_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEfeedback_CFLAGS))"; export
> >> CFLAGS;
> >> > \
> >> >          CXXFLAGS="$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage feedback in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15894,11 +15897,11 @@ configure-stageautoprofile-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautoprofile_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEautoprofile_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautoprofile_CFLAGS))"; export
> >> > CFLAGS; \
> >> >          CXXFLAGS="$(STAGEautoprofile_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEautoprofile_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage autoprofile in $(HOST_SUBDIR)/mpc; \
> >> > @@ -15928,11 +15931,11 @@ configure-stageautofeedback-mpc:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> >> > +        TFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautofeedback_TFLAGS))"; \
> >> >          test ! -f $(HOST_SUBDIR)/mpc/Makefile || exit 0; \
> >> >          $(HOST_EXPORTS) \
> >> >          $(POSTSTAGE1_HOST_EXPORTS) \
> >> > -        CFLAGS="$(STAGEautofeedback_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="$(call
> >> > GMP_FILTER_CHECKING_FLAGS,$(STAGEautofeedback_CFLAGS))"; export
> >> > CFLAGS; \
> >> >          CXXFLAGS="$(STAGEautofeedback_CXXFLAGS)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(STAGEautofeedback_CFLAGS)"; export LIBCFLAGS;  \
> >> >          echo Configuring stage autofeedback in $(HOST_SUBDIR)/mpc; \
> >> > diff --git a/Makefile.tpl b/Makefile.tpl
> >> > index
> >> >
> >>
> 07b434e4343105439844e05cd7a4652a8480b373..7fa22ce10d4c7d44607
> >> > 1a3dd1c23840793dc54b9 100644
> >> > --- a/Makefile.tpl
> >> > +++ b/Makefile.tpl
> >> > @@ -607,6 +607,9 @@ STAGEautofeedback_TFLAGS =
> $(STAGE3_TFLAGS)
> >> >  # may result in additional warnings.
> >> >  STAGEautofeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-
> >> > always,$(STAGE_CONFIGURE_FLAGS))
> >> >
> >> > +GMP_CHECKING_FLAGS = -fno-checking -fchecking=1
> >> > +GMP_FILTER_CHECKING_FLAGS = $(filter-out
> >> > $(GMP_CHECKING_FLAGS),$(1))
> >> > +
> >> >  do-compare = @do_compare@
> >> >  do-compare3 = $(do-compare)
> >> >
> >> > @@ -1196,7 +1199,18 @@ TAGS: do-TAGS
> >> >  # Macros for configure and all targets
> >> >  # ------------------------------------
> >> >
> >> > -[+ DEFINE configure +]
> >> > +[+ ;; Return the stage flag variable that should be used when 
> >> > configuring
> >> > +   ;; the current module.
> >> > +   ;; GMP and MPC record the compiler options in object files, which
> makes
> >> > +   ;; LTO bootstrap comparisons fail if stage-specific checking flags 
> >> > differ.
> >> > +   (define stage-configure-flags
> >> > +     (lambda (suffix)
> >> > +       (let ((flag (string-append "STAGE" (get "id") suffix)))
> >> > +         (if (or (= (get "module") "gmp")
> >> > +                 (= (get "module") "mpc"))
> >> > +             (string-append "$(call GMP_FILTER_CHECKING_FLAGS,$(" flag 
> >> > "))")
> >> > +             (string-append "$(" flag ")")))))
> >> > ++][+ DEFINE configure +]
> >> >  .PHONY: configure-[+prefix+][+module+] maybe-configure-
> >> > [+prefix+][+module+]
> >> >  maybe-configure-[+prefix+][+module+]:
> >> >  @if gcc-bootstrap
> >> > @@ -1253,7 +1267,7 @@ configure-stage[+id+]-[+prefix+][+module+]:
> >> >          @$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]
> >> >          @r=`${PWD_COMMAND}`; export r; \
> >> >          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> >> > -        TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
> >> > +        TFLAGS="[+ (stage-configure-flags "_TFLAGS") +]"; \
> >> >          [+ IF check_multilibs
> >> >          +]echo "Checking multilib configuration for [+module+]..."; \
> >> >          $(CC_FOR_TARGET) --print-multi-lib >
> >> > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
> >> > @@ -1273,7 +1287,7 @@ configure-stage[+id+]-[+prefix+][+module+]:
> >> >          CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> >> >          CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> >> >          LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;[+ ELSE
> >> > prefix +] \
> >> > -        CFLAGS="$(STAGE[+id+]_CFLAGS)"; export CFLAGS; \
> >> > +        CFLAGS="[+ (stage-configure-flags "_CFLAGS") +]"; export 
> >> > CFLAGS; \
> >> >          CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"; export CXXFLAGS;[+ IF (=
> >> > (get "module") "gcc") +] \
> >> >          GDCFLAGS="$(STAGE[+id+]_GDCFLAGS)"; export GDCFLAGS;[+ ENDIF
> >> > +][+ IF prev +] \
> >> >          LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
> >> >
> >> >
> >> > --

Reply via email to