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