Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / s390 / Kconfig
index a1d6dcbc89654c45a48880c5cfda1e4ddc0b7014..56c86b1efece55613859d78ef1c771c934689148 100644 (file)
@@ -82,7 +82,7 @@ config S390
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX
        select ARCH_HAS_SYSCALL_WRAPPER
-       select ARCH_HAS_UBSAN_SANITIZE_ALL
+       select ARCH_HAS_UBSAN
        select ARCH_HAS_VDSO_DATA
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select ARCH_INLINE_READ_LOCK
@@ -128,6 +128,7 @@ config S390
        select ARCH_WANT_DEFAULT_BPF_JIT
        select ARCH_WANT_IPC_PARSE_VERSION
        select ARCH_WANT_KERNEL_PMD_MKWRITE
+       select ARCH_WANT_LD_ORPHAN_WARN
        select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
        select BUILDTIME_TABLE_SORT
        select CLONE_BACKWARDS2
@@ -200,6 +201,7 @@ config S390
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
        select HAVE_NOP_MCOUNT
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
@@ -449,7 +451,7 @@ config COMPAT
        select COMPAT_OLD_SIGACTION
        select HAVE_UID16
        depends on MULTIUSER
-       depends on !CC_IS_CLANG
+       depends on !CC_IS_CLANG && !LD_IS_LLD
        help
          Select this option if you want to enable your system kernel to
          handle system-calls from ELF binaries for 31 bit ESA.  This option
@@ -583,14 +585,23 @@ config RELOCATABLE
        help
          This builds a kernel image that retains relocation information
          so it can be loaded at an arbitrary address.
-         The kernel is linked as a position-independent executable (PIE)
-         and contains dynamic relocations which are processed early in the
-         bootup process.
          The relocations make the kernel image about 15% larger (compressed
          10%), but are discarded at runtime.
          Note: this option exists only for documentation purposes, please do
          not remove it.
 
+config PIE_BUILD
+       def_bool CC_IS_CLANG && !$(cc-option,-munaligned-symbols)
+       help
+         If the compiler is unable to generate code that can manage unaligned
+         symbols, the kernel is linked as a position-independent executable
+         (PIE) and includes dynamic relocations that are processed early
+         during bootup.
+
+         For kpatch functionality, it is recommended to build the kernel
+         without the PIE_BUILD option. PIE_BUILD is only enabled when the
+         compiler lacks proper support for handling unaligned symbols.
+
 config RANDOMIZE_BASE
        bool "Randomize the address of the kernel image (KASLR)"
        default y