From: Arnd Bergmann <arnd@xxxxxxxx>
clang produces a build failure on x86 for some randconfig builds
after a change that moves around code to mm/mm_init.c:
Cannot find symbol for section 2: .text.
mm/mm_init.o: failed
I have not been able to figure out why this happens, but the __weak
annotation on arch_has_descending_max_zone_pfns() is the trigger here.
Removing the weak function in favor of an open-coded Kconfig option
check avoids the problem and becomes clearer as well as better to
optimize by the compiler.
Fixes: 9420f89db2dd ("mm: move most of core MM initialization to mm/mm_init.c")
Cc: llvm@xxxxxxxxxxxxxxx
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
v2: fix logic bug reported-by: kernel test robot <oliver.sang@xxxxxxxxx>,
see https://lore.kernel.org/oe-lkp/202304151422.5e4d380b-oliver.sang@xxxxxxxxx