From patchwork Tue Jan 28 12:01:50 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Russell King - ARM Linux X-Patchwork-Id: 3546361 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 5C403C02DC for ; Tue, 28 Jan 2014 12:02:35 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id AFE0420125 for ; Tue, 28 Jan 2014 12:02:30 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 27F9520123 for ; Tue, 28 Jan 2014 12:02:29 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1W87N1-0007ku-ER; Tue, 28 Jan 2014 12:02:23 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1W87Mz-0003fC-Ak; Tue, 28 Jan 2014 12:02:21 +0000 Received: from pandora.arm.linux.org.uk ([2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1W87Mv-0003ep-9K for linux-arm-kernel@lists.infradead.org; Tue, 28 Jan 2014 12:02:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=arm.linux.org.uk; s=pandora; h=Sender:Content-Type:MIME-Version:Message-ID:Subject:To:From:Date; bh=SE2aEK3dzleqNh4gdBi/EXXqE/KpTHdE6sZXtXd2Hdc=; b=A5l0ADGs8jCbvkihsgxh4YgEmN5FiubNfavhE0vAKVPs4mKRRDtGg3xJ0kx0LtmKylzion6jhHfpirgI9AZJiITPOPyFpV+qlQRVJhrQyVppDHoX7kxN8Aoue40z5YwcQ4jaMHl76PWg7ejhkwrTCy/se+HTEwN90wLOZsJrh+w=; Received: from n2100.arm.linux.org.uk ([fd8f:7570:feb6:1:214:fdff:fe10:4f86]:50283) by pandora.arm.linux.org.uk with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1W87MX-0000Cb-3B for linux-arm-kernel@lists.infradead.org; Tue, 28 Jan 2014 12:01:53 +0000 Received: from linux by n2100.arm.linux.org.uk with local (Exim 4.76) (envelope-from ) id 1W87MV-0001aZ-DG for linux-arm-kernel@lists.infradead.org; Tue, 28 Jan 2014 12:01:51 +0000 Date: Tue, 28 Jan 2014 12:01:50 +0000 From: Russell King - ARM Linux To: linux-arm-kernel@lists.infradead.org Subject: Building with gcc 4.6.4 Message-ID: <20140128120150.GG15937@n2100.arm.linux.org.uk> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.19 (2009-01-05) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140128_070217_667102_F5D88B80 X-CRM114-Status: UNSURE ( 9.65 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.5 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP So, yesterday I built gcc 4.6.4 (mainline) for the autobuilder, and the result is that every build failed with the same error: scripts/mod/empty.c:1:0: error: FPA is unsupported in the AAPCS This seems to be because linux-elf targets default to fpe3 in mainline gcc, but specifying -mabi=aapcs-linux switches us into EABI mode where the compiler errors out with the default FPU. Hence, I believe we need this to ensure that a compatible VFP is selected. One can argue that building EABI ARMv4 with VFP is silly, but it seems that's what the gcc folk have decided (rightly or wrongly.) Maybe this is a bug in mainline GCC - which begs the question why (presumably, since no one has picked this up) Linaro's toolchain has fixes but mainline GCC doesn't. Comments? diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 23d5e3946589..08a9ef58d9c3 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -96,7 +96,7 @@ tune-$(CONFIG_CPU_V6K) =$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) tune-y := $(tune-y) ifeq ($(CONFIG_AEABI),y) -CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork +CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp else CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) endif