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

Reply via email to