Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757573AbcJQNfA (ORCPT ); Mon, 17 Oct 2016 09:35:00 -0400 Received: from mailapp02.imgtec.com ([217.156.133.132]:46786 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752869AbcJQNeu (ORCPT ); Mon, 17 Oct 2016 09:34:50 -0400 Date: Mon, 17 Oct 2016 14:34:37 +0100 From: "Maciej W. Rozycki" To: Matt Redfearn CC: Ralf Baechle , , , Adam Buchbinder , Subject: Re: [PATCH] MIPS: IP22: Fix build error in IP22 cache code In-Reply-To: <1476440397-13042-1-git-send-email-matt.redfearn@imgtec.com> Message-ID: References: <1476440397-13042-1-git-send-email-matt.redfearn@imgtec.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [10.20.78.147] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1916 Lines: 45 On Fri, 14 Oct 2016, Matt Redfearn wrote: > 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 > > Cc: stable@vger.kernel.org > --- This GAS regression introduced with upstream binutils commit 919731affbef ("Add MIPS .module directive") has been fixed with commit 22522f880a8e ("MIPS/GAS: Fix an ISA override not lifting ABI restrictions") and release 2.27 has been subsequently made. Moving forward with your workaround may still make sense, although it will bump the minimum binutils version to 2.18, which is when `.set gp=64' has been added only, from the advertised version 2.12; it may have already effectively happened due to changes elsewhere. If doing so however, please be accurate with your commit description in that versions 2.25 and 2.26 (and their patch releases) only rather than "recent" have been affected. See also: and the discussion downthread. Based on the conclusions made there I'd rather ban binutils 2.25 and 2.26 from use with the MIPS/Linux kernel as the problem with ISA restoration may lead to bad code generation. So maybe we should really leave this piece unchanged, as a fatal trigger for unsupported binutils versions in the affected scenarios. Maciej