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

From: Guenter Roeck
Date: Sun May 15 2016 - 22:57:21 EST


Hi folks,

building mips images with a consistent infrastructure is becoming more and more difficult.
Current state is as follows.

Binutils/ 2.22 2.24 2.25
Kernel
3.2 X - -
3.4 X - -
3.10 X X -
3.14 X X -
3.16 X X -
3.18 X X (X) [1]
4.1 X X (X)
4.4 X X (X)
4.5 X X (X)
4.6 X X (X)
next - X (X)

[1] (at least) allnoconfig fails to build with binutils 2.25 (2.25.1, more specifically).

I used the following toolchains for the above tests:
- Poky 1.3 (binutils 2.22)
- Poky 2.0 (binutils 2.25.1)
- gcc-4.6.3-nolibc from kernel.org (binutils 2.22)
- gcc-4.9.0-nolibc from kernel.org (binutils 2.24)

For 3.4 and 3.2 kernels to build with binutils v2.24, it would be necessary to
apply patch c02263063362 ("MIPS: Refactor 'clear_page' and 'copy_page' functions").
It applies cleanly to 3.4, but has a Makefile conflict in 3.2. It might
make sense to apply this patch to both releases. Would this be possible ?
This way, we would have at least one toolchain which can build all 3.2+ kernels.

Thanks,
Guenter