MIPS: Avoid overoptimization by GCC.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 14 Mar 2013 17:49:26 +0000 (18:49 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 11 Apr 2013 13:39:51 +0000 (15:39 +0200)
commit1186e4e904839955e5d2be94f50e0a363cb5651b
treed27e3c3d9ee05b5c9afb18dcfbfb7522060b5280
parent02b849f7613003fe5f9e58bf233d49b0ebd4a5e8
MIPS: Avoid overoptimization by GCC.

Without this, it's possible that LTO will discard the calls to
set_except_vector() in the probe for the DADDI overflow bug resulting in a
kernel crash like this:

 [...]
 Mount-cache hash table entries: 256
 Checking for the daddi bug... Integer overflow[#1]:
 Cpu 0
 $ 0   : 0000000000000000 0000000010008ce1 0000000000000001 0000000000000000
 $ 4   : 7fffffffffffedcd ffffffff81410000 0000000000000030 000000000000003f
 [...]

There are other similar places in the kernel so we've just been lucky
that GCC's been tolerant.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/traps.c