Message ID | 20250407094116.1339199-1-arnd@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | Make gcc-8.1 and binutils-2.30 the minimum version | expand |
On Mon, Apr 07, 2025 at 11:41:12AM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > x86 already requires gcc-8.1 since linux-6.15-rc1, which led me to > actually go through all version checks and make this is the minimum > for all architectures. > > Most of the actual resulting changes are actually for raising the > binutils version, which eliminates version checks on x86 and arm64. > > Arnd Bergmann (4): > kbuild: require gcc-8 and binutils-2.30 > raid6: skip avx512 checks > x86: remove checks for binutils-2.30 and earlier > arm64: drop binutils version checks This is intended to supersede the patches from Uros that removed checks for binutils < 2.25, right? See: * https://lore.kernel.org/linux-crypto/20250404074135.520812-1-ubizjak@gmail.com/ * https://lore.kernel.org/linux-crypto/20250404074135.520812-2-ubizjak@gmail.com * https://lore.kernel.org/linux-crypto/20250404074135.520812-3-ubizjak@gmail.com/ If we can indeed bump up the requirement to 2.30, that would be great. Just a note though: I recently added VAES and VPCLMULQDQ instructions to BoringSSL, which increased the binutils requirement of building BoringSSL to 2.30, and this caused issues in a downstream project; e.g. see https://github.com/briansmith/ring/issues/2463. Specifically people complained about being unable to build on Amazon Linux 2 and CentOS/RHEL/Oracle Linux 7. So I just thought I'd mention that, based on past experience with this sort of thing, those are the specific cases where it seems people are most likely to be trying to use binutils < 2.30. But if those distros are not going to be supported any longer (without installing newer tools on them), or even are already unsupported due to the gcc requirement, bumping up the binutils requirement to 2.30 sounds good to me. - Eric
From: Arnd Bergmann <arnd@arndb.de> x86 already requires gcc-8.1 since linux-6.15-rc1, which led me to actually go through all version checks and make this is the minimum for all architectures. Most of the actual resulting changes are actually for raising the binutils version, which eliminates version checks on x86 and arm64. Arnd Bergmann (4): kbuild: require gcc-8 and binutils-2.30 raid6: skip avx512 checks x86: remove checks for binutils-2.30 and earlier arm64: drop binutils version checks Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ard Biesheuvel <ardb@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Marc Zyngier <maz@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nicolas Schier <nicolas@fjasle.eu> Cc: Takashi Iwai <tiwai@suse.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Uros Bizjak <ubizjak@gmail.com> Cc: Will Deacon <will@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-crypto@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-raid@vger.kernel.org Cc: x86@kernel.org Documentation/admin-guide/README.rst | 2 +- Documentation/kbuild/makefiles.rst | 4 +- Documentation/process/changes.rst | 4 +- .../translations/it_IT/process/changes.rst | 4 +- .../translations/zh_CN/admin-guide/README.rst | 2 +- arch/arm64/Kconfig | 37 +-------------- arch/arm64/Makefile | 21 +-------- arch/arm64/include/asm/rwonce.h | 4 -- arch/arm64/kvm/Kconfig | 1 - arch/arm64/lib/xor-neon.c | 2 +- arch/um/Makefile | 4 +- arch/x86/Kconfig.assembler | 29 ------------ arch/x86/crypto/Kconfig | 2 +- arch/x86/crypto/Makefile | 12 +++-- arch/x86/crypto/aes-ctr-avx-x86_64.S | 2 - arch/x86/crypto/aes-xts-avx-x86_64.S | 2 - arch/x86/crypto/aesni-intel_glue.c | 21 +-------- arch/x86/crypto/aria-aesni-avx-asm_64.S | 10 ----- arch/x86/crypto/aria-aesni-avx2-asm_64.S | 10 +---- arch/x86/crypto/aria_aesni_avx2_glue.c | 4 +- arch/x86/crypto/aria_aesni_avx_glue.c | 4 +- arch/x86/crypto/blake2s-core.S | 4 -- arch/x86/crypto/blake2s-glue.c | 6 +-- arch/x86/crypto/chacha_glue.c | 6 +-- arch/x86/crypto/poly1305-x86_64-cryptogams.pl | 8 ---- arch/x86/crypto/poly1305_glue.c | 4 +- arch/x86/crypto/sha1_ssse3_glue.c | 10 ----- arch/x86/crypto/sha256_ssse3_glue.c | 10 ----- include/linux/unroll.h | 4 +- kernel/gcov/gcc_4_7.c | 4 -- lib/raid6/algos.c | 6 --- lib/raid6/avx512.c | 4 -- lib/raid6/recov_avx512.c | 6 --- lib/raid6/test/Makefile | 3 -- lib/test_fortify/Makefile | 5 +-- scripts/Makefile.compiler | 2 +- scripts/gcc-plugins/gcc-common.h | 45 ------------------- scripts/min-tool-version.sh | 6 +-- 38 files changed, 36 insertions(+), 278 deletions(-)