Hi Arnd, On Sat, 15 Apr 2023, Arnd Bergmann 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
Thanks, reverting commit 413d478d3b366d09 ("mm: make arch_has_descending_max_zone_pfns() static") in next-20230417 and applying your v2 makes Salvator-XS regain its DMA memory zone. Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds