]> git.baikalelectronics.ru Git - kernel.git/commit
x86/Kconfig: Drop check for -mabi=ms for CONFIG_EFI_STUB
authorNathan Chancellor <nathan@kernel.org>
Thu, 29 Sep 2022 15:20:10 +0000 (08:20 -0700)
committerBorislav Petkov <bp@suse.de>
Mon, 17 Oct 2022 17:11:16 +0000 (19:11 +0200)
commitfb18eb30c1d3f2a6bba16a43b8e20412366f0d48
tree442eb9b44a43f45d79ef6846f08043b0017d3b71
parent2fa167d0543b5c98f42486eb35d17f41fa99c03f
x86/Kconfig: Drop check for -mabi=ms for CONFIG_EFI_STUB

A recent change in LLVM made CONFIG_EFI_STUB unselectable because it no
longer pretends to support -mabi=ms, breaking the dependency in
Kconfig. Lack of CONFIG_EFI_STUB can prevent kernels from booting via
EFI in certain circumstances.

This check was added by

  d07e51c83967 ("efi/libstub: Annotate firmware routines as __efiapi")

to ensure that __attribute__((ms_abi)) was available, as -mabi=ms is
not actually used in any cflags.

According to the GCC documentation, this attribute has been supported
since GCC 4.4.7. The kernel currently requires GCC 5.1 so this check is
not necessary; even when that change landed in 5.6, the kernel required
GCC 4.9 so it was unnecessary then as well.

Clang supports __attribute__((ms_abi)) for all versions that are
supported for building the kernel so no additional check is needed.
Remove the 'depends on' line altogether to allow CONFIG_EFI_STUB to be
selected when CONFIG_EFI is enabled, regardless of compiler.

Fixes: d07e51c83967 ("efi/libstub: Annotate firmware routines as __efiapi")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Cc: stable@vger.kernel.org
Link: https://github.com/llvm/llvm-project/commit/d1ad006a8f64bdc17f618deffa9e7c91d82c444d
arch/x86/Kconfig