microwatt_defconfig broken: fined reference to `hash__tlb_flush'

Jan-Benedict Glaw jbglaw at lug-owl.de
Sat Feb 18 07:00:43 AEDT 2023


On Fri, 2023-02-17 19:44:27 +0000, Christophe Leroy <christophe.leroy at csgroup.eu> wrote:
> 
> 
> Le 17/02/2023 à 18:14, Jan-Benedict Glaw a écrit :
> > Hi!
> > 
> > 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:


diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush.h b/arch/powerpc/include/asm/book3s/64/tlbflush.h
index d5cd16270c5d5..2bbc0fcce04a3 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush.h
@@ -97,8 +97,8 @@ static inline void tlb_flush(struct mmu_gather *tlb)
 {
  if (radix_enabled())
   radix__tlb_flush(tlb);
-
- return hash__tlb_flush(tlb);
+ else
+  hash__tlb_flush(tlb);
 }
 
 #ifdef CONFIG_SMP


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?

MfG, JBG

-- 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20230217/39f22bf5/attachment.sig>


More information about the Linuxppc-dev mailing list