aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2021-06-07 15:38:10 +0200
committerMartin Liska <mliska@suse.cz>2021-06-07 15:38:10 +0200
commit6467a4e9a6cceae84be71007d11dfc61b47b43a4 (patch)
treefec0feb43d7f9ce092ad6e9a90f598cde22e1fd4 /gcc/objc
parent7584ede940802ce5f6401bc6122a5550106f5925 (diff)
parent4d3907c222646174ec7e405491435aefc50bf1bb (diff)
downloadgcc-6467a4e9a6cceae84be71007d11dfc61b47b43a4.zip
gcc-6467a4e9a6cceae84be71007d11dfc61b47b43a4.tar.gz
gcc-6467a4e9a6cceae84be71007d11dfc61b47b43a4.tar.bz2
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/Make-lang.in14
1 files changed, 11 insertions, 3 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)