x86/percpu: Enable named address spaces for all capable GCC versions
authorUros Bizjak <ubizjak@gmail.com>
Mon, 20 May 2024 08:21:14 +0000 (10:21 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 21 May 2024 08:17:01 +0000 (10:17 +0200)
Enable named address spaces also for GCC 6, GCC 7 and GCC 8
releases. These compilers all produce kernel images that boot
without problems.

Use compile-time test to detect compiler support for named
address spaces. The test passes with GCC 6 as the earliest
compiler version where the support for named address spaces
was introduced.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20240520082134.121320-1-ubizjak@gmail.com
arch/x86/Kconfig

index 9d16fee6bdb891d1b1cfb533658f419553cf95ff..c9e0a54f469ef024bcd9bd4bf1a29919e081a4a0 100644 (file)
@@ -2430,7 +2430,8 @@ source "kernel/livepatch/Kconfig"
 endmenu
 
 config CC_HAS_NAMED_AS
-       def_bool CC_IS_GCC && GCC_VERSION >= 90100
+       def_bool $(success,echo 'int __seg_fs fs; int __seg_gs gs;' | $(CC) -x c - -S -o /dev/null)
+       depends on CC_IS_GCC
 
 config CC_HAS_NAMED_AS_FIXED_SANITIZERS
        def_bool CC_IS_GCC && GCC_VERSION >= 130300