Recent MIPS toolchains complain about the use of an immediate larger than 32bits when compiling a 32bit kernel, leading to the following build failure: {standard input}: Assembler messages: {standard input}:131: Error: number (0x9000000080000000) larger than 32 bits {standard input}:154: Error: number (0x9000000080000000) larger than 32 bits {standard input}:191: Error: number (0x9000000080000000) larger than 32 bits Fix this by specifying registers are 64bit via the .set gp=64 directive. Since IP22 is the default MIPS machine, this is causing allnoconfig build failures. Fixes: 1da177e4c3f4 Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx --- arch/mips/mm/sc-ip22.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/mm/sc-ip22.c b/arch/mips/mm/sc-ip22.c index 026cb59a914d..6551ca37d308 100644 --- a/arch/mips/mm/sc-ip22.c +++ b/arch/mips/mm/sc-ip22.c @@ -35,6 +35,7 @@ static inline void indy_sc_wipe(unsigned long first, unsigned long last) ".set\tnoreorder\n\t" ".set\tmips3\n\t" ".set\tnoat\n\t" + ".set\tgp=64\n\t" "mfc0\t%2, $12\n\t" "li\t$1, 0x80\t\t\t# Go 64 bit\n\t" "mtc0\t$1, $12\n\t" -- 2.7.4