From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:33582 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932632AbdCJIls (ORCPT ); Fri, 10 Mar 2017 03:41:48 -0500 Subject: Patch "MIPS: IP22: Fix build error due to binutils 2.25 uselessnes." has been added to the 4.4-stable tree To: ralf@linux-mips.org, gregkh@linuxfoundation.org Cc: , From: Date: Fri, 10 Mar 2017 09:39:34 +0100 Message-ID: <1489135174117204@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled MIPS: IP22: Fix build error due to binutils 2.25 uselessnes. to the 4.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mips-ip22-fix-build-error-due-to-binutils-2.25-uselessnes.patch and it can be found in the queue-4.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From ae2f5e5ed04a17c1aa1f0a3714c725e12c21d2a9 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Thu, 15 Dec 2016 12:39:22 +0100 Subject: MIPS: IP22: Fix build error due to binutils 2.25 uselessnes. From: Ralf Baechle commit ae2f5e5ed04a17c1aa1f0a3714c725e12c21d2a9 upstream. Fix the following build error with binutils 2.25. CC arch/mips/mm/sc-ip22.o {standard input}: Assembler messages: {standard input}:132: Error: number (0x9000000080000000) larger than 32 bits {standard input}:159: Error: number (0x9000000080000000) larger than 32 bits {standard input}:200: Error: number (0x9000000080000000) larger than 32 bits scripts/Makefile.build:293: recipe for target 'arch/mips/mm/sc-ip22.o' failed make[1]: *** [arch/mips/mm/sc-ip22.o] Error 1 MIPS has used .set mips3 to temporarily switch the assembler to 64 bit mode in 64 bit kernels virtually forever. Binutils 2.25 broke this behavious partially by happily accepting 64 bit instructions in .set mips3 mode but puking on 64 bit constants when generating 32 bit ELF. Binutils 2.26 restored the old behaviour again. Fix build with binutils 2.25 by open coding the offending dli $1, 0x9000000080000000 as li $1, 0x9000 dsll $1, $1, 48 which is ugly be the only thing that will build on all binutils vintages. Signed-off-by: Ralf Baechle Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- arch/mips/mm/sc-ip22.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) --- a/arch/mips/mm/sc-ip22.c +++ b/arch/mips/mm/sc-ip22.c @@ -39,7 +39,18 @@ static inline void indy_sc_wipe(unsigned " li $1, 0x80 # Go 64 bit \n" " mtc0 $1, $12 \n" " \n" - " dli $1, 0x9000000080000000 \n" + " # \n" + " # Open code a dli $1, 0x9000000080000000 \n" + " # \n" + " # Required because binutils 2.25 will happily accept \n" + " # 64 bit instructions in .set mips3 mode but puke on \n" + " # 64 bit constants when generating 32 bit ELF \n" + " # \n" + " lui $1,0x9000 \n" + " dsll $1,$1,0x10 \n" + " ori $1,$1,0x8000 \n" + " dsll $1,$1,0x10 \n" + " \n" " or %0, $1 # first line to flush \n" " or %1, $1 # last line to flush \n" " .set at \n" Patches currently in stable-queue which might be from ralf@linux-mips.org are queue-4.4/mips-calculate-micromips-ra-properly-when-unwinding-the-stack.patch queue-4.4/mips-fix-get_frame_info-handling-of-micromips-function-size.patch queue-4.4/mips-handle-micromips-jumps-in-the-same-way-as-mips32-mips64-jumps.patch queue-4.4/mips-fix-is_jump_ins-handling-of-16b-micromips-instructions.patch queue-4.4/mips-clear-isa-bit-correctly-in-get_frame_info.patch queue-4.4/mips-ip22-reformat-inline-assembler-code-to-modern-standards.patch queue-4.4/mips-fix-special-case-in-64-bit-ip-checksumming.patch queue-4.4/mips-octeon-fix-copy_from_user-fault-handling-for-large-buffers.patch queue-4.4/mips-ip22-fix-build-error-due-to-binutils-2.25-uselessnes.patch queue-4.4/mips-prevent-unaligned-accesses-during-stack-unwinding.patch