* [PATCH] For obj-c stage-final re-use the checksum from the previous stage
@ 2021-05-28 7:47 Bernd Edlinger
2021-06-04 6:42 ` [PING] " Bernd Edlinger
2021-06-08 13:54 ` Jason Merrill
0 siblings, 2 replies; 6+ messages in thread
From: Bernd Edlinger @ 2021-05-28 7:47 UTC (permalink / raw)
To: gcc-patches, Richard Biener
[-- Attachment #1: Type: text/plain, Size: 1036 bytes --]
Hi Richard,
I've replicated your PR to make the objective-c checksum compare equal
commit fb2647aaf55b453b37badfd40c14c59486a74584
Author: Richard Biener <rguenther@suse.de>
Date: Tue May 3 08:14:27 2016 +0000
Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous stage.
2016-05-03 Richard Biener <rguenther@suse.de>
c/
* Make-lang.in (cc1-checksum.c): For stage-final re-use
the checksum from the previous stage.
cp/
* Make-lang.in (cc1plus-checksum.c): For stage-final re-use
the checksum from the previous stage.
From-SVN: r235804
This silences the stage compare.
Bootstrapped and reg-tested on x86_64-pc-linux-gnu.
Is it OK for trunk?
Thanks
Bernd.
2021-05-28 Bernd Edlinger <bernd.edlinger@softing.com>
objc/
* Make-lang.in (cc1obj-checksum.c): For stage-final re-use
the checksum from the previous stage.
objcp/
* Make-lang.in (cc1objplus-checksum.c): For stage-final re-use
the checksum from the previous stage.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-For-obj-c-stage-final-re-use-the-checksum-from-the-p.patch --]
[-- Type: text/x-patch; name="0001-For-obj-c-stage-final-re-use-the-checksum-from-the-p.patch", Size: 3174 bytes --]
From a61184fc909634dba1dca8956ab960998114c644 Mon Sep 17 00:00:00 2001
From: Bernd Edlinger <bernd.edlinger@hotmail.de>
Date: Fri, 28 May 2021 06:54:13 +0200
Subject: [PATCH] For obj-c stage-final re-use the checksum from the previous
stage
This silences the stage compare.
2021-05-28 Bernd Edlinger <bernd.edlinger@softing.com>
objc/
* Make-lang.in (cc1obj-checksum.c): For stage-final re-use
the checksum from the previous stage.
objcp/
* Make-lang.in (cc1objplus-checksum.c): For stage-final re-use
the checksum from the previous stage.
---
gcc/objc/Make-lang.in | 14 +++++++++++---
gcc/objcp/Make-lang.in | 15 +++++++++++----
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in
index c91148a..9011140 100644
--- a/gcc/objc/Make-lang.in
+++ b/gcc/objc/Make-lang.in
@@ -57,11 +57,19 @@ OBJC_OBJS = objc/objc-lang.o objc/objc-act.o hash-table.o \
objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o
+# compute checksum over all object files and the options
+# re-use the checksum from the prev-final stage so it passes
+# the bootstrap comparison and allows comparing of the cc1 binary
cc1obj-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(OBJC_OBJS) $(C_AND_OBJC_OBJS) $(BACKEND) $(LIBDEPS)
- build/genchecksum$(build_exeext) $(OBJC_OBJS) $(C_AND_OBJC_OBJS) \
- $(BACKEND) $(LIBDEPS) checksum-options > cc1obj-checksum.c.tmp && \
- $(srcdir)/../move-if-change cc1obj-checksum.c.tmp cc1obj-checksum.c
+ if [ -f ../stage_final ] \
+ && cmp -s ../stage_current ../stage_final; then \
+ cp ../prev-gcc/$@ $@; \
+ else \
+ build/genchecksum$(build_exeext) $(OBJC_OBJS) $(C_AND_OBJC_OBJS) \
+ $(BACKEND) $(LIBDEPS) checksum-options > $@.tmp && \
+ $(srcdir)/../move-if-change $@.tmp $@; \
+ fi
cc1obj$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o $(BACKEND) \
$(LIBDEPS) $(objc.prev)
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index dfa4d23..3ecc50b 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -60,12 +60,19 @@ OBJCXX_OBJS = objcp/objcp-act.o objcp/objcp-lang.o objcp/objcp-decl.o \
obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus-checksum.o
+# compute checksum over all object files and the options
+# re-use the checksum from the prev-final stage so it passes
+# the bootstrap comparison and allows comparing of the cc1 binary
cc1objplus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(OBJCXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS)
- build/genchecksum$(build_exeext) $(OBJCXX_OBJS) $(BACKEND) $(CODYLIB) \
- $(LIBDEPS) checksum-options > cc1objplus-checksum.c.tmp && \
- $(srcdir)/../move-if-change cc1objplus-checksum.c.tmp \
- cc1objplus-checksum.c
+ if [ -f ../stage_final ] \
+ && cmp -s ../stage_current ../stage_final; then \
+ cp ../prev-gcc/$@ $@; \
+ else \
+ build/genchecksum$(build_exeext) $(OBJCXX_OBJS) $(BACKEND) \
+ $(CODYLIB) $(LIBDEPS) checksum-options > $@.tmp && \
+ $(srcdir)/../move-if-change $@.tmp $@; \
+ fi
cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) \
$(CODYLIB) $(LIBDEPS) $(obj-c++.prev)
--
1.9.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PING] [PATCH] For obj-c stage-final re-use the checksum from the previous stage
2021-05-28 7:47 [PATCH] For obj-c stage-final re-use the checksum from the previous stage Bernd Edlinger
@ 2021-06-04 6:42 ` Bernd Edlinger
2021-06-07 11:21 ` Richard Biener
2021-06-08 13:54 ` Jason Merrill
1 sibling, 1 reply; 6+ messages in thread
From: Bernd Edlinger @ 2021-06-04 6:42 UTC (permalink / raw)
To: gcc-patches, Richard Biener
Ping...
On 5/28/21 9:47 AM, Bernd Edlinger wrote:
> Hi Richard,
>
> I've replicated your PR to make the objective-c checksum compare equal
>
> commit fb2647aaf55b453b37badfd40c14c59486a74584
> Author: Richard Biener <rguenther@suse.de>
> Date: Tue May 3 08:14:27 2016 +0000
>
> Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous stage.
>
> 2016-05-03 Richard Biener <rguenther@suse.de>
>
> c/
> * Make-lang.in (cc1-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
> cp/
> * Make-lang.in (cc1plus-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
> From-SVN: r235804
>
>
> This silences the stage compare.
>
> Bootstrapped and reg-tested on x86_64-pc-linux-gnu.
> Is it OK for trunk?
>
>
> Thanks
> Bernd.
>
>
> 2021-05-28 Bernd Edlinger <bernd.edlinger@softing.com>
>
> objc/
> * Make-lang.in (cc1obj-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
> objcp/
> * Make-lang.in (cc1objplus-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PING] [PATCH] For obj-c stage-final re-use the checksum from the previous stage
2021-06-04 6:42 ` [PING] " Bernd Edlinger
@ 2021-06-07 11:21 ` Richard Biener
0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2021-06-07 11:21 UTC (permalink / raw)
To: Bernd Edlinger; +Cc: gcc-patches
On Fri, 4 Jun 2021, Bernd Edlinger wrote:
> Ping...
OK.
Richard.
> On 5/28/21 9:47 AM, Bernd Edlinger wrote:
> > Hi Richard,
> >
> > I've replicated your PR to make the objective-c checksum compare equal
> >
> > commit fb2647aaf55b453b37badfd40c14c59486a74584
> > Author: Richard Biener <rguenther@suse.de>
> > Date: Tue May 3 08:14:27 2016 +0000
> >
> > Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous stage.
> >
> > 2016-05-03 Richard Biener <rguenther@suse.de>
> >
> > c/
> > * Make-lang.in (cc1-checksum.c): For stage-final re-use
> > the checksum from the previous stage.
> >
> > cp/
> > * Make-lang.in (cc1plus-checksum.c): For stage-final re-use
> > the checksum from the previous stage.
> >
> > From-SVN: r235804
> >
> >
> > This silences the stage compare.
> >
> > Bootstrapped and reg-tested on x86_64-pc-linux-gnu.
> > Is it OK for trunk?
> >
> >
> > Thanks
> > Bernd.
> >
> >
> > 2021-05-28 Bernd Edlinger <bernd.edlinger@softing.com>
> >
> > objc/
> > * Make-lang.in (cc1obj-checksum.c): For stage-final re-use
> > the checksum from the previous stage.
> >
> > objcp/
> > * Make-lang.in (cc1objplus-checksum.c): For stage-final re-use
> > the checksum from the previous stage.
> >
>
--
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] For obj-c stage-final re-use the checksum from the previous stage
2021-05-28 7:47 [PATCH] For obj-c stage-final re-use the checksum from the previous stage Bernd Edlinger
2021-06-04 6:42 ` [PING] " Bernd Edlinger
@ 2021-06-08 13:54 ` Jason Merrill
2021-06-08 21:05 ` Bernd Edlinger
1 sibling, 1 reply; 6+ messages in thread
From: Jason Merrill @ 2021-06-08 13:54 UTC (permalink / raw)
To: Bernd Edlinger; +Cc: gcc-patches, Richard Biener
On Fri, May 28, 2021 at 3:48 AM Bernd Edlinger <bernd.edlinger@hotmail.de>
wrote:
> Hi Richard,
>
> I've replicated your PR to make the objective-c checksum compare equal
>
> commit fb2647aaf55b453b37badfd40c14c59486a74584
> Author: Richard Biener <rguenther@suse.de>
> Date: Tue May 3 08:14:27 2016 +0000
>
> Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum
> from the previous stage.
>
> 2016-05-03 Richard Biener <rguenther@suse.de>
>
> c/
> * Make-lang.in (cc1-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
> cp/
> * Make-lang.in (cc1plus-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
> From-SVN: r235804
>
>
> This silences the stage compare.
>
> Bootstrapped and reg-tested on x86_64-pc-linux-gnu.
> Is it OK for trunk?
>
>
> Thanks
> Bernd.
>
>
> 2021-05-28 Bernd Edlinger <bernd.edlinger@softing.com>
>
> objc/
> * Make-lang.in (cc1obj-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
> objcp/
> * Make-lang.in (cc1objplus-checksum.c): For stage-final re-use
> the checksum from the previous stage.
>
This breaks bootstrap2.
Jason
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] For obj-c stage-final re-use the checksum from the previous stage
2021-06-08 13:54 ` Jason Merrill
@ 2021-06-08 21:05 ` Bernd Edlinger
2021-06-08 21:10 ` Jason Merrill
0 siblings, 1 reply; 6+ messages in thread
From: Bernd Edlinger @ 2021-06-08 21:05 UTC (permalink / raw)
To: Jason Merrill; +Cc: gcc-patches, Richard Biener
On 6/8/21 3:54 PM, Jason Merrill wrote:
>
> This breaks bootstrap2.
>
> Jason
>
Sorry for the breakage,
I've committed the following as obvious after
confirming that it fixes bootstrap2:
Subject: [PATCH] Fix bootstrap2 breakage due to re-use of obj-c checksum
gcc/objc:
2021-06-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
* Make-lang.in (cc1-obj-checksum.c): Check previous
stage checksum exists.
gcc/objcp:
2021-06-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
* Make-lang.in (cc1objplus-checksum.c): Check previous
stage checksum exists.
---
gcc/objc/Make-lang.in | 3 ++-
gcc/objcp/Make-lang.in | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in
index 9011140..25fbd4c 100644
--- a/gcc/objc/Make-lang.in
+++ b/gcc/objc/Make-lang.in
@@ -63,7 +63,8 @@ objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o
cc1obj-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(OBJC_OBJS) $(C_AND_OBJC_OBJS) $(BACKEND) $(LIBDEPS)
if [ -f ../stage_final ] \
- && cmp -s ../stage_current ../stage_final; then \
+ && cmp -s ../stage_current ../stage_final \
+ && [ -f ../prev-gcc/$@ ]; then \
cp ../prev-gcc/$@ $@; \
else \
build/genchecksum$(build_exeext) $(OBJC_OBJS) $(C_AND_OBJC_OBJS) \
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index 3ecc50b..2e27be5 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -66,7 +66,8 @@ obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus-checksum.o
cc1objplus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(OBJCXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS)
if [ -f ../stage_final ] \
- && cmp -s ../stage_current ../stage_final; then \
+ && cmp -s ../stage_current ../stage_final \
+ && [ -f ../prev-gcc/$@ ]; then \
cp ../prev-gcc/$@ $@; \
else \
build/genchecksum$(build_exeext) $(OBJCXX_OBJS) $(BACKEND) \
--
1.9.1
Thanks
Bernd.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] For obj-c stage-final re-use the checksum from the previous stage
2021-06-08 21:05 ` Bernd Edlinger
@ 2021-06-08 21:10 ` Jason Merrill
0 siblings, 0 replies; 6+ messages in thread
From: Jason Merrill @ 2021-06-08 21:10 UTC (permalink / raw)
To: Bernd Edlinger; +Cc: gcc-patches, Richard Biener
On Tue, Jun 8, 2021 at 5:05 PM Bernd Edlinger <bernd.edlinger@hotmail.de>
wrote:
> On 6/8/21 3:54 PM, Jason Merrill wrote:
> >
> > This breaks bootstrap2.
> >
> > Jason
> >
>
>
> Sorry for the breakage,
>
> I've committed the following as obvious after
> confirming that it fixes bootstrap2:
>
Thanks.
Jason
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-06-08 21:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-28 7:47 [PATCH] For obj-c stage-final re-use the checksum from the previous stage Bernd Edlinger
2021-06-04 6:42 ` [PING] " Bernd Edlinger
2021-06-07 11:21 ` Richard Biener
2021-06-08 13:54 ` Jason Merrill
2021-06-08 21:05 ` Bernd Edlinger
2021-06-08 21:10 ` Jason Merrill
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).