Re: [PATCH 3.16 00/19] 3.16.43-rc1 review

From: Ben Hutchings
Date: Sat Apr 01 2017 - 18:40:31 EST


On Sat, 2017-04-01 at 10:43 -0700, Guenter Roeck wrote:
[snip list of MIPS failures]
> I tried to build mips:allnoconfig with the following binutils versions.
> They all fail with the same errors.
> 2.22 (from Poky version 1.3)
> 2.22 (kernel toolchain, gcc 4.6.3)
> 2.24 (kernel toolchain, gcc 4.9.0)
> 2.26.1 (buildroot toolchain, gcc 5.4.0)
>
> Bisect points to commit c4cf8e3a3e8f as the culprit.
>
> > Details are available at http://kerneltests.org/builders.
> Unfortunately, just reverting this one patch doesn't work.
> Reverting
>
> f1ece3b9dd5e MIPS: Fix build with binutils 2.24.51+
> f8547d2f97c8 MIPS: init upper 64b of vector registers when MSA is first used
> c4cf8e3a3e8f MIPS: save/restore MSACSR register on context switch
>
> fixes the problem, at least for an allnoconfig build with binutils 2.24.

I've now tested with binutils 2.25 and 2.28 and added these:

558155a0a731 MIPS: allow msa.h to be included in assembly files
631afc65e8f4 MIPS: Push .set mips64r* into the functions needing it
f23ce3883a30 MIPS: assume at as source/dest of MSA copy/insert instructions
a3a49810c55e MIPS: remove MSA macro recursion
e1bebbab1eae MIPS: wrap cfcmsa & ctcmsa accesses for toolchains with MSA support

which resolve the build regressions for these versions at least.

I can't build a MIPS allnoconfig with binutils 2.25, but selecting the
Malta platform instead of IP22 works. This is not a regression and is
apparently due to a binutils bug; see commit ae2f5e5ed04a. I could
pick that workaround for the next cycle.

Ben.

--
Ben Hutchings
It is easier to change the specification to fit the program than vice
versa.

Attachment: signature.asc
Description: This is a digitally signed message part