linux/scripts/min-tool-version.sh
Brian Gerst a3e8fe814a x86/build: Raise the minimum GCC version to 8.1
Stack protector support on 64-bit currently requires that the percpu
section is linked at absolute address 0, because older compilers fixed
the location of the canary value relative to the GS segment base.

GCC 8.1 introduced options to change where the canary value is located,
allowing it to be configured as a standard per-CPU variable.  This has
already been done for 32-bit.  Doing the same for 64-bit will enable
removing the code needed to support zero-based percpu.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250123190747.745588-2-brgerst@gmail.com
2025-02-18 10:14:40 +01:00

47 lines
676 B
Bash
Executable file

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only
#
# Print the minimum supported version of the given tool.
# When you raise the minimum version, please update
# Documentation/process/changes.rst as well.
set -e
if [ $# != 1 ]; then
echo "Usage: $0 toolname" >&2
exit 1
fi
case "$1" in
binutils)
echo 2.25.0
;;
gcc)
if [ "$ARCH" = parisc64 ]; then
echo 12.0.0
elif [ "$SRCARCH" = x86 ]; then
echo 8.1.0
else
echo 5.1.0
fi
;;
llvm)
if [ "$SRCARCH" = s390 ]; then
echo 15.0.0
elif [ "$SRCARCH" = loongarch ]; then
echo 18.0.0
else
echo 13.0.1
fi
;;
rustc)
echo 1.78.0
;;
bindgen)
echo 0.65.1
;;
*)
echo "$1: unknown tool" >&2
exit 1
;;
esac