Re: Building older mips kernels with different versions of binutils; possible patch for 3.2 and 3.4

From: James Hogan
Date: Fri May 20 2016 - 19:18:31 EST


Hi Guenter,

On Fri, May 20, 2016 at 10:31:39AM -0700, Guenter Roeck wrote:
> Builds with binutils 2.22 on recent kernels fail on and off (there was a failure
> in -next a few days ago which has since then be fixed). Overall using it as
> "default" builder is by now too fragile, which is why I dropped it as baseline
> version. I now only build defconfig and allnoconfig with it as basic sanity test.
>
> For qemu tests, I ended up using a combination of binutils 2.22, 2.24, and 2.25
> depending on the kernel version. Previously I only used 2.22, but again that
> is by now too risky. I can not just use 2.25 since it isn't supported in older
> kernels (plus mips-gcc in Poky 2.0 seems to be buggy for mipsel64, or maybe that
> compiler and qemu don't like each other), I can not just use 2.24 because it
> isn't supported in 3.2 and 3.4, and I don't want to use 2.22 for recent kernels
> since all tests may end up failing because some feature only available in later
> versions of binutils was added to the kernel.

FWIW, we've already made some effort to make versions of binutils
lacking more recent features continue to work (with a very small
performance hit), so I do think there is still value in having at least
some build testing with these toolchain versions, e.g.:

- MSA (binutils < 2.25)
- XPA (binutils < 2.25, in fact we don't take advantage of binutils
support at all right now)
- VZ (binutils < 2.24... sorry for breaking that btw!)

Certain configurations use more invasive features where no attempt is
made to support older toolcahin versions though, but these are normally
along the lines of needing a whole different/incompatible kernel, so
tends to be a very concious decision on the part of the user e.g.:

- EVA (binutils < 2.24, nothing technically preventing it though)
- microMIPS (binutils < 2.22, requires full toolcahin support)
- MIPS R6 (binutils < 2.25, requires full toolchain support)

Cheers
James

Attachment: signature.asc
Description: Digital signature