On 04/01/2017 03:40 PM, Ben Hutchings wrote:
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.
Hi Ben,
I switched to use binutils 2.26.1 for the qemu tests. With that, we are down to:
Build results:
total: 140 pass: 137 fail: 3
Failed builds:
binutils 2.24:
mips:ath79_defconfig
mips:malta_defconfig
mips:rt305x_defconfig
with the following failures:
{standard input}: Assembler messages:
{standard input}:1376: Error: opcode not supported on this processor: mips32r2 (mips32r2) `ctc1 $2,$31'
Guenter