Alan Modra <amo...@gmail.com> writes: > On Fri, Feb 17, 2017 at 11:08:53PM +1100, Michael Ellerman wrote: >> Bleeding edge binutils no longer accepts r0 in places where the CPU >> interprets the value as a literal 0. > > Wow! That was quite some cleanup. I think I'd better turn the error > into a warning..
That would be my preference :) If it remains a hard error we'll need to backport this patch to multiple stable versions so that people can build those older kernels with new binutils. Which we can do, but it's a bit of a pain. >> --- a/arch/powerpc/purgatory/trampoline.S >> +++ b/arch/powerpc/purgatory/trampoline.S >> @@ -67,7 +67,7 @@ master: >> mr %r16,%r3 /* save dt address in reg16 */ >> li %r4,20 >> LWZX_BE %r6,%r3,%r4 /* fetch __be32 version number at byte 20 */ >> - cmpwi %r0,%r6,2 /* v2 or later? */ >> + cmpwi 0,%r6,2 /* v2 or later? */ >> blt 1f >> li %r4,28 >> STWX_BE %r17,%r3,%r4 /* Store my cpu as __be32 at byte 28 */ > > With this one, it would probably be better to omit the zero (BF > field). Yeah good point, thanks for reviewing. cheers