Hi Jan-Benedict, Le 17/02/2023 à 21:41, Jan-Benedict Glaw a écrit : > Hi Christophe! > > On Fri, 2023-02-17 21:00:43 +0100, Jan-Benedict Glaw <[email protected]> > wrote: >> On Fri, 2023-02-17 19:44:27 +0000, Christophe Leroy >> <[email protected]> wrote: >>> Le 17/02/2023 à 18:14, Jan-Benedict Glaw a écrit : >>>> My CI builds showed that the microwatt_defconfig broke somewhere between >>>> (upstream Linus) 6d796c50f84ca79f1722bb131799e5a5710c4700 (last known >>>> good, log >>>> at [1]) and 033c40a89f55525139fd5b6342281b09b97d05bf (first known bad, log >>>> at >>>> [2]) with this: >>>> >>>> [...] >>>> make V=1 ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- >>>> INSTALL_MOD_PATH=/var/lib/laminar/run/linux-powerpc-microwatt_defconfig/28/linux-powerpc-microwatt_defconfig >>>> >>>> INSTALL_DTBS_PATH=/var/lib/laminar/run/linux-powerpc-microwatt_defconfig/28/linux-powerpc-microwatt_defconfig >>>> all >>>> [...] >>>> [mk all 2023-02-17 01:42:27] + powerpc64le-linux-ld -EL -z noexecstack >>>> --no-warn-rwx-segments -Bstatic --build-id=sha1 --orphan-handling=warn >>>> --script=./arch/powerpc/kernel/vmlinux.lds --strip-debug -o >>>> .tmp_vmlinux.kallsyms1 --whole-archive vmlinux.a init/version-timestamp.o >>>> --no-whole-archive --start-group lib/lib.a --end-group >>>> [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/memory.o: in >>>> function `tlb_flush_mmu_tlbonly': >>>> [mk all 2023-02-17 01:42:28] memory.c:(.text+0x320): undefined reference >>>> to `hash__tlb_flush' >>>> [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/mmu_gather.o: in >>>> function `tlb_flush_mmu_tlbonly': >>>> [mk all 2023-02-17 01:42:28] mmu_gather.c:(.text+0xe0): undefined >>>> reference to `hash__tlb_flush' >>>> [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/mprotect.o: in >>>> function `change_protection': >>>> [mk all 2023-02-17 01:42:28] mprotect.c:(.text+0x59c): undefined reference >>>> to `hash__tlb_flush' >>>> [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/madvise.o: in >>>> function `tlb_end_vma.isra.0': >>>> [mk all 2023-02-17 01:42:28] madvise.c:(.text+0x1f0): undefined reference >>>> to `hash__tlb_flush' >>>> [mk all 2023-02-17 01:42:28] make[1]: *** [scripts/Makefile.vmlinux:35: >>>> vmlinux] Error 1 >>>> [mk all 2023-02-17 01:42:28] make: *** [Makefile:1264: vmlinux] Error 2 >>> >>> >>> The fix is available here : >>> https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=4302abc628fc0dc08e5855f21bbfaed407a72bc3 >> >> I can give that patch a try, but on the first glimpse, it won't help: > [...] >> The patch handles a return-type issue. My above issue is a linkage >> issue, the linker cannot find hash__tlb_flush(). Or am I mistaken? > > I stand corrected: That patch fixes the linker issue. (Build log at > http://toolchain.lug-owl.de/laminar/jobs/linux-powerpc-microwatt_defconfig/69) > Just ftr: How does this work? >
On microwatt_defconfig, radix_enabled() is always true so the compiler eliminates the else branch. Christophe
