Re: [PATCH 5.12 000/677] 5.12.4-rc1 review

From: Maciej W. Rozycki
Date: Wed May 12 2021 - 16:51:38 EST


On Wed, 12 May 2021, Greg Kroah-Hartman wrote:

> > > > > > mips clang build breaks on stable rc 5.4 .. 5.12 due to below warnings / errors
> > > > > > - mips (defconfig) with clang-12
> > > > > > - mips (tinyconfig) with clang-12
> > > > > > - mips (allnoconfig) with clang-12
> > > > > >
> > > > > > make --silent --keep-going --jobs=8
> > > > > > O=/home/tuxbuild/.cache/tuxmake/builds/current ARCH=mips
> > > > > > CROSS_COMPILE=mips-linux-gnu- 'HOSTCC=sccache clang' 'CC=sccache
> > > > > > clang'
> > > > > > kernel/time/hrtimer.c:318:2: error: couldn't allocate output register
> > > > > > for constraint 'x'
> > > > > > do_div(tmp, (u32) div);
> > > > > > ^
> > > > > > include/asm-generic/div64.h:243:11: note: expanded from macro 'do_div'
> > > > > > __rem = __div64_32(&(n), __base); \
> > > > > > ^
> > > > > > arch/mips/include/asm/div64.h:74:11: note: expanded from macro '__div64_32'
> > > > > > __asm__("divu $0, %z1, %z2" \
> > > > > > ^
> > > > > > 1 error generated.
> > > > >
> > > > > Does this also show up in Linus's tree? The same MIPS patch is there as
> > > > > well from what I can tell.
> > > >
> > > > No.
> > > > Linus's tree builds MIPS clang successfully.
> > >
> > > Ick, ok, I'll go drop this and let a MIPS developer send us the correct
> > > thing.
> > >
> > > thanks!
> > >
> > > greg k-h
> > >
> >
> > I think you just need to grab commits c1d337d45ec0 ("MIPS: Avoid DIVU in
> > `__div64_32' is result would be zero") and 25ab14cbe9d1 ("MIPS: Avoid
> > handcoded DIVU in `__div64_32' altogether") to fix this up.
>
> It was easier for me to drop it, let's see if any MIPS developers (are
> there any anymore?) care enough to send the proper series.

Thomas, I told you it would work better if the original fix was replaced
ahead of a pull request to Linus rather than updated with the follow-ups.

Will you be able to fix up the mess in this case? I can offer no more
than just the commits quoted above, there's no better fix.

Maciej