Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: select ARCH_KEEP_MEMBLOCK unconditionally

While removing allnoconfig_y from Kconfig, ARCH=mips allnoconfig builds
started failing with the error:

WARNING: modpost: vmlinux.o(.text+0x9c70): Section mismatch in reference
from the function reserve_exception_space() to the function
.meminit.text:memblock_reserve()
The function reserve_exception_space() references the function __meminit
memblock_reserve().
This is often because reserve_exception_space lacks a __meminit
annotation or the annotation of memblock_reserve is wrong.
ERROR: modpost: Section mismatches detected.
Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them.

allnoconfig disables DEBUG_KERNEL and thus ARCH_KEEP_MEMBLOCK, which
changes __init_memblock to be equivalent to __meminit triggering the
above error.

Link: https://lore.kernel.org/linux-kbuild/20210313194836.372585-11-masahiroy@kernel.org/
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

Nick Desaulniers and committed by
Thomas Bogendoerfer
c55944cc 1d7ba016

+1 -1
+1 -1
arch/mips/Kconfig
··· 12 12 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 13 13 select ARCH_HAS_UBSAN_SANITIZE_ALL 14 14 select ARCH_HAS_GCOV_PROFILE_ALL 15 - select ARCH_KEEP_MEMBLOCK if DEBUG_KERNEL 15 + select ARCH_KEEP_MEMBLOCK 16 16 select ARCH_SUPPORTS_UPROBES 17 17 select ARCH_USE_BUILTIN_BSWAP 18 18 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT