x86/build: Raise the minimum GCC version to 8.1
authorBrian Gerst <brgerst@gmail.com>
Thu, 23 Jan 2025 19:07:33 +0000 (14:07 -0500)
committerIngo Molnar <mingo@kernel.org>
Tue, 18 Feb 2025 09:14:40 +0000 (10:14 +0100)
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
scripts/min-tool-version.sh

index 91c91201212c41196c755c09d71c20d9e6cfb1c9..06c4e410ecabae60a51f1f1c086e64763415e0bd 100755 (executable)
@@ -19,6 +19,8 @@ binutils)
 gcc)
        if [ "$ARCH" = parisc64 ]; then
                echo 12.0.0
+       elif [ "$SRCARCH" = x86 ]; then
+               echo 8.1.0
        else
                echo 5.1.0
        fi