From patchwork Mon Dec 3 07:50:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 152681 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp6512734ljp; Sun, 2 Dec 2018 23:52:33 -0800 (PST) X-Google-Smtp-Source: AFSGD/WMeKXk/GdXkewxJ7H97TjYrIkj9bwQYKNRxGz0ytMvMy7h4muBn3ERUPdZXeKdu3p5SHku X-Received: by 2002:a63:608f:: with SMTP id u137mr12566654pgb.203.1543823553241; Sun, 02 Dec 2018 23:52:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543823553; cv=none; d=google.com; s=arc-20160816; b=BfLY3yDS9rli9jNNcF2OHDDPi8aPjo7Ei5RNaylhzu1vai05wmaWHMxz5naQOxWCqR lb2uFFlPQMoo/iLqbFj4LQW+eevHnaed4KcL4atEPAyryNVGU40E6lKcbsJ6VzaAOjBm tnVV794gG98TcMoKThIpjI3hacfgVhyD3UdsAFFq0ZkBo2oscrrUwCRvZ7m5PFJpVXir pcAKp92tOpvwyohXJ0AwMXV/+N4FQra+o5okkiKuo9f7Nn3oH/xrvAxjlrbX2U4iOR78 ErO84fxpgAelAlAwa87bc7zbP+C8Wc0Z+Wcfr9wR5q750yE9MWQTKhLdsGnNjZHzwg4S tzYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter; bh=N3TI1A9AeQ18M6YQzJK3Suotjnv/hQbugG9ua8UooFo=; b=P+0H8tFPs5XwjFXftPENtGityXfAhwx1BkFvJd4mWF4N5qH/+jKbNU/9YStrxozOFi KUSEVIGEOQeJWna2zdE/BCDrPe8rLHIv0VPNeHacI7Z0d7kzg8c0b/AJ//ufJypDsBJd NGtJYLrCbA2IXASKhSKnjKi4vhOntfdVBLIXglonMzEE/o0PXDvmzXTzaxO8Zpd5q0eC zKt14qfTXfFVPn8naZAeusinPehn3Q4X9/FkTcBWwwSOXx1nhVajYpYFGjEUDCYRtqrk 7FirkFlfStWIdPVnD9+3ighbAGheS14WUgTObh4OgOKSMb3RpdgFcPLE+qHiWswJQ8Zw bYeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=qOXUclZn; 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 c4si12676654pfi.110.2018.12.02.23.52.32; Sun, 02 Dec 2018 23:52:33 -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; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=qOXUclZn; 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 S1726039AbeLCHwf (ORCPT + 32 others); Mon, 3 Dec 2018 02:52:35 -0500 Received: from conuserg-09.nifty.com ([210.131.2.76]:60223 "EHLO conuserg-09.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725837AbeLCHvq (ORCPT ); Mon, 3 Dec 2018 02:51:46 -0500 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-09.nifty.com with ESMTP id wB37p4O5009296; Mon, 3 Dec 2018 16:51:07 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-09.nifty.com wB37p4O5009296 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1543823467; bh=N3TI1A9AeQ18M6YQzJK3Suotjnv/hQbugG9ua8UooFo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qOXUclZnmGfmbYye2xzrhTbJ/HPvgbKywwAONv2rDzg78K8m8PKV9PCdRZFgF02DQ FQMPA8LE07kjpVBXJZc6Q2yNhdZ4yhedK0twttF9zlLsh488j5/DarYqqwy1lpbe/G tPLBPPTreOQ629DGmWsfJr13xfsoXW1u/7QQ1PPp/c6BP1SRaPNdzjKb6FvXQ6Y0Bw HcH+LeGV7AG60qaxXLRnk4+ng2siCf7p3IdJBvlvUBxKYuZUP7HUCUhFlp5TCvARvg yJAaZ/Uv2OXE4hAzanNqOuUETV+pRPe2SZbJfFXT0cAyFMWWeSYR3dZ196ndjskMH+ woaC0V4mvdXbA== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: Michal Simek Cc: linux-kbuild@vger.kernel.org, Masahiro Yamada , linux-kernel@vger.kernel.org Subject: [PATCH 4/7] microblaze: fix multiple bugs in arch/microblaze/boot/Makefile Date: Mon, 3 Dec 2018 16:50:54 +0900 Message-Id: <1543823457-32478-5-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1543823457-32478-1-git-send-email-yamada.masahiro@socionext.com> References: <1543823457-32478-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This Makefile is wrong in multiple ways. The first issue is the breakage of 'linux.bin.ub' target since commit ece97f3a5fb5 ("microblaze: Fix simpleImage format generation") because the addition of UIMAGE_{IN,OUT} obviously affected it. make ARCH=microblaze CROSS_COMPILE=microblaze-linux- linux.bin.ub [ snip ] OBJCOPY arch/microblaze/boot/linux.bin UIMAGE arch/microblaze/boot/linux.bin.ub.ub /usr/bin/mkimage: Can't open arch/microblaze/boot/linux.bin.ub: No such file or directory make[1]: *** [arch/microblaze/boot/Makefile;14: arch/microblaze/boot/linux.bin.ub] Error 1 make: *** [arch/microblaze/Makefile;83: linux.bin.ub] Error 2 The second issue is the use of the "if_changed" multiple times for the same target. As commit 92a4728608a8 ("x86/boot: Fix if_changed build flip/flop bug") pointed out, this never works properly. Moreover, generating multiple images as a side-effect is extremely confusing and wrong. As far as I understood, "simpleImage.
" works like a phony target to generate the following four images. - arch/microblaze/boot/simpleImage.
: identical to arch/microblaze/boot/linux.bin - arch/microblaze/boot/simpleImage.
.unstrip: identical to vmlinux - arch/microblaze/boot/simpleImage.
.ub: identical to arch/microblaze/boot/linux.bin.ub - arch/microblaze/boot/simpleImage.
.strip: stripped vmlinux The first three are just aliases of other images. Separate the recipe for each image. Signed-off-by: Masahiro Yamada --- arch/microblaze/Makefile | 2 +- arch/microblaze/boot/Makefile | 27 ++++++++++++++++----------- 2 files changed, 17 insertions(+), 12 deletions(-) -- 2.7.4 Acked-by: Michal Simek diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index cfd7bfca..c5d5b0e 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile @@ -84,7 +84,7 @@ linux.bin linux.bin.gz linux.bin.ub: vmlinux @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' simpleImage.%: vmlinux - $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ + $(Q)$(MAKE) $(build)=$(boot) simple_images @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' define archhelp diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile index c2579a7..f12a9d7 100644 --- a/arch/microblaze/boot/Makefile +++ b/arch/microblaze/boot/Makefile @@ -3,7 +3,7 @@ # arch/microblaze/boot/Makefile # -targets := linux.bin linux.bin.gz linux.bin.ub simpleImage.% +targets := linux.bin linux.bin.gz linux.bin.ub simpleImage.*.strip OBJCOPYFLAGS := -R .note -R .comment -R .note.gnu.build-id -O binary @@ -16,21 +16,26 @@ $(obj)/linux.bin.ub: $(obj)/linux.bin FORCE $(obj)/linux.bin.gz: $(obj)/linux.bin FORCE $(call if_changed,gzip) -quiet_cmd_cp = CP $< $@$2 - cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false) - quiet_cmd_strip = STRIP $< $@$2 cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \ -K _fdt_start $< -o $@$2 UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR) -UIMAGE_IN = $@ -UIMAGE_OUT = $@.ub -$(obj)/simpleImage.%: vmlinux FORCE - $(call if_changed,cp,.unstrip) - $(call if_changed,objcopy) - $(call if_changed,uimage) - $(call if_changed,strip,.strip) +PHONY += simple_images +simple_images: $(addprefix $(obj)/simpleImage., $(DTB) $(DTB).ub $(DTB).unstrip $(DTB).strip) + @: + +$(obj)/simpleImage.$(DTB): $(obj)/linux.bin + $(call cmd,shipped) + +$(obj)/simpleImage.$(DTB).ub: $(obj)/linux.bin.ub + $(call cmd,shipped) + +$(obj)/simpleImage.$(DTB).unstrip: vmlinux + $(call cmd,shipped) + +$(obj)/simpleImage.$(DTB).strip: vmlinux FORCE + $(call if_changed,strip) clean-files += simpleImage.*