]> git.hungrycats.org Git - linux/commit
MIPS: CPS: Fix MIPS_ISA_LEVEL_RAW fallout
authorJames Hogan <jhogan@kernel.org>
Fri, 2 Feb 2018 14:36:40 +0000 (14:36 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 3 Mar 2018 15:52:35 +0000 (15:52 +0000)
commit964551125099d3dcf9934b2b36f52d692eba1865
treef1db38fa61a660a71c162551b16f4b1c1248d4f8
parentb11db6eff5183b9e67006995a95699a43d84101b
MIPS: CPS: Fix MIPS_ISA_LEVEL_RAW fallout

commit 8dbc1864b74f5dea5a3f7c30ca8fd358a675132f upstream.

Commit 17278a91e04f ("MIPS: CPS: Fix r1 .set mt assembler warning")
added .set MIPS_ISA_LEVEL_RAW to silence warnings about .set mt on r1,
however this can result in a MOVE being encoded as a 64-bit DADDU
instruction on certain version of binutils (e.g. 2.22), and reserved
instruction exceptions at runtime on 32-bit hardware.

Reduce the sizes of the push/pop sections to include only instructions
that are part of the MT ASE or which won't convert to 64-bit
instructions after .set mips64r2/mips64r6.

Reported-by: Greg Ungerer <gerg@linux-m68k.org>
Fixes: 17278a91e04f ("MIPS: CPS: Fix r1 .set mt assembler warning")
Signed-off-by: James Hogan <jhogan@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@linux-mips.org
Tested-by: Greg Ungerer <gerg@linux-m68k.org>
Patchwork: https://patchwork.linux-mips.org/patch/18578/
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/mips/kernel/cps-vec.S