From patchwork Tue Jan 2 11:47:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 123126 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp8867857qgn; Tue, 2 Jan 2018 03:50:23 -0800 (PST) X-Google-Smtp-Source: ACJfBovsgsvx+FGxIsoiIGysvvnbVtGLDJHtulOJ1CqVK0QV5XIwWd1sQdGkNvLH2E4JdVw+GF6R X-Received: by 10.98.7.27 with SMTP id b27mr38218021pfd.240.1514893823255; Tue, 02 Jan 2018 03:50:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514893823; cv=none; d=google.com; s=arc-20160816; b=d9ksAMDHfawRI9Isv88kGT7d3TW/445zBf/MHL4XZvtLMdzfxxs2axfu7yThcrmLtg 7HOkj5V6thaMqTdTSuPlHj7rKVp2l5anTYLx1PQwxSJwloctti6v65m+pQkE0WSLXMtY /FgCsmwzD1/Ba6VL4T2I8kJgbhn6kvepLRTpM2IUjJQnoN5SowZfnJDPYu/pSE95ugsl KClCD9I+IrHnxrzddV4gaDzEIlwZGeGSWh7nWUYxOL9BWcE7AepiruXDmCVOhbmzdu7R dsHJ2ESEzuwN6unIpEEeOLCg15jtKUAHwrDtBDQaZlvn1rRicmFu07cGJZHTmXW+FBs+ DVcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=9Wc66wiPJqfjaa9YYivvtq4dCKLKOJbibZFnlxvBg4g=; b=L+LwsC51K4ZsRjE4hC7HeamPpN4GwEo1OjIY7DCErDhrRf/1F4DPx/GIXexnW8rD00 xEa/nvqtAo8yKOOq6GuVGrGctx+V5lXm0aa7pm51m7ymdr2Jn5Hu+uM2SmRXIZAEoed7 N+wARGGr249zCISwKYbxEpjARGd8otUxdkFXKLhwSgd670Tv8+ACkDan/kOuTt9gIt/1 U8egUWUY9jCTawRuuvUL9SBz95tbTk7NL/v70D9cOLZXpeFIL3Vzw34BPzFbmALkzAed FL76XOvyCHs3qAZkHeaw7JZwRKiJp8oICzlt6ZHgTM4qdDWm5+tM+Ym6geqWURZo8nK5 7CxA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h1si33928255pln.582.2018.01.02.03.50.22; Tue, 02 Jan 2018 03:50:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753850AbeABLuU (ORCPT + 28 others); Tue, 2 Jan 2018 06:50:20 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:58850 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753051AbeABLrb (ORCPT ); Tue, 2 Jan 2018 06:47:31 -0500 Received: from wuerfel.lan ([95.208.111.237]) by mrelayeu.kundenserver.de (mreue103 [212.227.15.145]) with ESMTPA (Nemesis) id 0LdL6H-1fEABO04u1-00iSA5; Tue, 02 Jan 2018 12:47:23 +0100 From: Arnd Bergmann To: Michal Simek Cc: Andrew Morton , linux-arch@vger.kernel.org, Babu Moger , linux-kernel@vger.kernel.org, Arnd Bergmann Subject: [PATCH 1/2] microblaze: fix endian handling Date: Tue, 2 Jan 2018 12:47:19 +0100 Message-Id: <20180102114720.3408356-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:dZSzhIcvvnZHyDWOQVeRppQn/NcU6BIqVSq5zi9/i54wgGjLHS0 g6V5ICz70sI8BqfsxeBh8pI6PWbfYfM3RcV4MZ1FBcTQxLbI0MUv8LeNVZP7G7pD43nayGh bhGAgAj68wDRkmjCSbTkaTPfnhNkwSH54J3FS1jPbwZFMUIHfKLG03/Th+11/gCPOWDNOxb SUjRFsX85n+ajoG6JWCjQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:rXZdWfS6cZo=:ZdtR03rzKweprZ+3UqMjrT d4kVHXchM4B/RRe23BJAFs/WxALTu5w6IN1SZ18n6Ybvs4WuOti+x6HcPKCVbZ3DBkCap0HG1 Zk1TX4MjHwsuay8P774KLXsEwy5vQ7OEIf9DRLaEXv+Jx1BLvwJBqEwBRsMwnz5j4YwRQkTys alYaGT1wOX3SATT8aCPxUKtiThFVtmjajcr8KjiO+TEqUAbkudzc9Y2jdc6xvNohW75nM31Ud pT4QhcjbHBDLjtgaNYkHlEM0dlHbFEswDk5uGWptfY5f0Hbti8PJuF9u1L7cd05nVi1HBQ9N2 RTS12nqBSzKlhTQdW4ItxGxRv6ki8rL9ROMOFDnE40YDtrN7tH0dRdRbo5yI0Jhq8KJzdRS1p Nqg0QuSXh9fa1hdje7aybzZvHmiTrLQgyl1SLuuHz0Wgos6SeXgMfzjSqzM2ym+lbIbL5p/x/ AU0Lwe66NaNIwuaTDaeoaUQ6oHdIBqN3QsSdq/322GrVlFwn4LCWbwGlVwKMbMu3Siv8XvYTi 4+Kl+rmKTdYAhfyKTiHQou0v/9CeP0vyZGIbUvJGelPCXsHm3p9rXCjjFCHcYapC7xDvT7nLQ oXgFUkyaQxSWCDvQcj7pmYGirg2sImAvponTlf7sS1D5cUkVIFmjgKaXXx3fKNDtDnxunFXVS eTwrltLKOp+SqrUITadF35yDeblem3THdltIVNODrQ8/abGCiVD3C7MkLUbD/QPGqjsnBKWg/ +LB+JRPRKGCvA1u7xOXDPEpjpvSh1kDY0ti5hKAuB7NEQHrycGXgqsamS04= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Building an allmodconfig kernel fails horribly because of endian mismatch. It turns out that the -mlittle-endian switch was not honored at all as we were using the wrong Kconfig symbol and failing to apply CPUFLAGS to the CFLAGS. Finally, the linker flags did not get set right. This addresses all three of those issues, which now lets me build both big-endian and little-endian kernels for testing. Fixes: 428dbf156cc5 ("arch: change default endian for microblaze") Fixes: 206d3642d8ee ("arch/microblaze: add choice for endianness and update Makefile") Signed-off-by: Arnd Bergmann --- arch/microblaze/Makefile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -- 2.9.0 diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index 830ee7d42fa0..d269dd4b8279 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile @@ -36,16 +36,21 @@ endif CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare -CPUFLAGS-$(CONFIG_BIG_ENDIAN) += -mbig-endian -CPUFLAGS-$(CONFIG_LITTLE_ENDIAN) += -mlittle-endian + +ifdef CONFIG_CPU_BIG_ENDIAN +KBUILD_CFLAGS += -mbig-endian +KBUILD_AFLAGS += -mbig-endian +LD += -EB +else +KBUILD_CFLAGS += -mlittle-endian +KBUILD_AFLAGS += -mlittle-endian +LD += -EL +endif CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) # r31 holds current when in kernel mode -KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-1) $(CPUFLAGS-2) - -LDFLAGS := -LDFLAGS_vmlinux := +KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2) head-y := arch/microblaze/kernel/head.o libs-y += arch/microblaze/lib/