From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id 0A6883858D32; Mon, 15 Apr 2024 20:33:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0A6883858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1713213206; bh=jD8k7HJO94L9VnwGBWJ+RLUfHdim0Wy13Jo6kqbHE2Q=; h=From:To:Subject:Date:From; b=bDP6HkdL6bip2VVPIvAbFZ6TO3qIkeBGu3qaZxGdSpSShxpTLyWfwViVflIRsEuZy EW+9/59eQAZ4sKtSFx3nFMDv7qkENbkaU8rtqfO+DjCbAzE6wx+IS8HyidpP0M+ljv jz6Pkjisn8RIWfEoKW77GjUd/5Wmpk+C6mHoUbJ4= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-9982] gotools: Workaround non-reproduceability of automake X-Act-Checkin: gcc X-Git-Author: Jakub Jelinek X-Git-Refname: refs/heads/master X-Git-Oldrev: b6239715c10193e73e66fe1671418459afd4a9aa X-Git-Newrev: 701e1b94066583f909aee1b5e95ea4dacd9c43b3 Message-Id: <20240415203326.0A6883858D32@sourceware.org> Date: Mon, 15 Apr 2024 20:33:25 +0000 (GMT) List-Id: https://gcc.gnu.org/g:701e1b94066583f909aee1b5e95ea4dacd9c43b3 commit r14-9982-g701e1b94066583f909aee1b5e95ea4dacd9c43b3 Author: Jakub Jelinek Date: Mon Apr 15 22:32:37 2024 +0200 gotools: Workaround non-reproduceability of automake The regen bot recently flagged a difference in gotools/Makefile.in. Trying it locally, it seems pretty random for i in `seq 20`; do PATH=~/automake-1.15.1/bin:~/autoconf-2.69/bin:$PATH automake; echo -n `git diff Makefile.in | wc -l`" "; done; echo; for i in `seq 20`; do +PATH=~/automake-1.15.1/bin:~/autoconf-2.69/bin:$PATH setarch x86_64 -R automake; echo -n `git diff Makefile.in | wc -l`" "; done; echo; 14 14 14 0 0 0 14 0 14 0 14 14 14 14 0 14 14 0 0 0 14 0 14 0 0 14 14 14 0 14 14 0 0 14 14 14 0 0 0 14 The 14 line git diff is diff --git a/gotools/Makefile.in b/gotools/Makefile.in index 36c2ec2abd3..f40883c39be 100644 --- a/gotools/Makefile.in +++ b/gotools/Makefile.in @@ -704,8 +704,8 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@NATIVE_FALSE@install-exec-local: @NATIVE_FALSE@uninstall-local: +@NATIVE_FALSE@install-exec-local: clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ so whether it is @NATIVE_FALSE@install-exec-local: @NATIVE_FALSE@uninstall-local: or @NATIVE_FALSE@uninstall-local: @NATIVE_FALSE@install-exec-local: depends on some hash table traversal or what. I'm not familiar with automake/m4 enough to debug that, so I'm instead offering a workaround, with this patch the order is deterministic. 2024-04-15 Jakub Jelinek * Makefile.am (install-exec-local, uninstall-local): Add goals on the else branch of if NATIVE to ensure reproducibility. * Makefile.in: Regenerate. Diff: --- gotools/Makefile.am | 2 ++ gotools/Makefile.in | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gotools/Makefile.am b/gotools/Makefile.am index d2376b9c25b..80b21847117 100644 --- a/gotools/Makefile.am +++ b/gotools/Makefile.am @@ -366,5 +366,7 @@ else # only do this if such a compiler is available. We also need to get # the right values for GOARCH and GOOS in the default build context in # the go/build package. Figure this out later. +install-exec-local: +uninstall-local: endif diff --git a/gotools/Makefile.in b/gotools/Makefile.in index 36c2ec2abd3..8a4a68e120b 100644 --- a/gotools/Makefile.in +++ b/gotools/Makefile.in @@ -704,8 +704,6 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@NATIVE_FALSE@install-exec-local: -@NATIVE_FALSE@uninstall-local: clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ @@ -1035,6 +1033,8 @@ mostlyclean-local: # only do this if such a compiler is available. We also need to get # the right values for GOARCH and GOOS in the default build context in # the go/build package. Figure this out later. +@NATIVE_FALSE@install-exec-local: +@NATIVE_FALSE@uninstall-local: # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.