clang kernel PPC32 build failure, undefined reference to `__umoddi3'

Christophe Leroy christophe.leroy at csgroup.eu
Thu Aug 4 04:54:43 AEST 2022


Looks like since recently some clang builds fails for missing reference 
to `__umoddi3`.

See exemple at:
- https://github.com/ruscur/linux-ci/actions/runs/2789193140
- 
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/eca9251f1e1f82c4c46ec6380ddb28356ab3fdfe.1659527244.git.christophe.leroy@csgroup.eu/

 From fs/mpage.o:

00000170 <do_mpage_readpage>:
...
      69c:	38 60 00 00 	li      r3,0
      6a0:	38 a0 00 00 	li      r5,0
      6a4:	38 c0 00 05 	li      r6,5
      6a8:	7d c4 73 78 	mr      r4,r14
      6ac:	92 e1 00 10 	stw     r23,16(r1)
      6b0:	3a a0 00 00 	li      r21,0
      6b4:	93 81 00 18 	stw     r28,24(r1)
      6b8:	3b 80 00 05 	li      r28,5
      6bc:	92 01 00 14 	stw     r16,20(r1)
      6c0:	92 21 00 1c 	stw     r17,28(r1)
      6c4:	48 00 00 01 	bl      6c4 <do_mpage_readpage+0x554>
			6c4: R_PPC_REL24	__umoddi3



I don't understand why calling __umoddi3 when the arguments are 
obviously 32 bits are r3 and r5 are zero.

Christophe


More information about the Linuxppc-dev mailing list