s390: Always enable EXPOLINE_EXTERN if supported

Since commit ba05b39d54 ("s390/expoline: Make modules use kernel
expolines"), there is no longer any reason not to use
CONFIG_EXPOLINE_EXTERN when supported by the compiler.

On the positive side:
- there is only a single set of expolines generated and used by both the
  kernel code and modules,
- it eliminates expolines "comdat" sections, which can confuse tools
  like kpatch.

Always enable EXPOLINE_EXTERN if supported by the compiler.

Suggested-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Vasily Gorbik
2024-08-26 23:16:06 +02:00
parent 7f4f1f47a3
commit 4eac37ffaf

View File

@@ -557,17 +557,13 @@ config EXPOLINE
If unsure, say N.
config EXPOLINE_EXTERN
def_bool y if EXPOLINE
depends on EXPOLINE
depends on CC_IS_GCC && GCC_VERSION >= 110200
depends on $(success,$(srctree)/arch/s390/tools/gcc-thunk-extern.sh $(CC))
prompt "Generate expolines as extern functions."
def_bool EXPOLINE && CC_IS_GCC && GCC_VERSION >= 110200 && \
$(success,$(srctree)/arch/s390/tools/gcc-thunk-extern.sh $(CC))
help
This option is required for some tooling like kpatch. The kernel is
compiled with -mindirect-branch=thunk-extern and requires a newer
compiler.
If unsure, say N.
Generate expolines as external functions if the compiler supports it.
This option is required for some tooling like kpatch, if expolines
are enabled. The kernel is compiled with
-mindirect-branch=thunk-extern, which requires a newer compiler.
choice
prompt "Expoline default"