On Sat, 15 Apr 2023 10:18:20 +0200 Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > 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 I was also encountering similar issue, and confirmed replacing the old version of this patch with this one fixes it. Tested-by: SeongJae Park <sj@xxxxxxxxxx> Thanks, SJ > --- > arch/arc/mm/init.c | 5 ----- > include/linux/mm.h | 1 - > mm/mm_init.c | 4 ++-- > 3 files changed, 2 insertions(+), 8 deletions(-)