From patchwork Tue Mar 24 16:15:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 11455945 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4FC7917D4 for ; Tue, 24 Mar 2020 16:16:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 312742073E for ; Tue, 24 Mar 2020 16:16:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585066574; bh=dQKgVw4hAX0j2HElfhg/yzz94isJ0lFLLL7X7uiRrIA=; h=From:To:Cc:Subject:Date:List-ID:From; b=Nf7VuCE8UVlHtZiR4BTtFC4UA5y8LsigPkshJEcIgMRxRJDQM1T8yRVNYnvB/4cFD xVcefZWY0D3f2j17/q/K02OYj6JRPVgiJKuZ0cvGcHJEvMwzI+eZyGSxZY5+BcJqWO q59eqsu13bTEUDThackDxi1oPyK2eqVd3hNlU0h4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727164AbgCXQQN (ORCPT ); Tue, 24 Mar 2020 12:16:13 -0400 Received: from conuserg-11.nifty.com ([210.131.2.78]:61249 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727688AbgCXQQN (ORCPT ); Tue, 24 Mar 2020 12:16:13 -0400 Received: from grover.flets-west.jp (softbank126093102113.bbtec.net [126.93.102.113]) (authenticated) by conuserg-11.nifty.com with ESMTP id 02OGFgQZ015903; Wed, 25 Mar 2020 01:15:43 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com 02OGFgQZ015903 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1585066543; bh=SHxHi5gK5rZIIYUYvBbvkIHDsBapKZs/OlS5DzaqpoA=; h=From:To:Cc:Subject:Date:From; b=j1MkgGRCnXStt4YVeJwYA4MBLvZJzYSi6RfmjZOwXGvsag0kl1/UlVDf4d6EJfkw1 4teW3iULx4yOqJJdzvXZTwfrpHmDPDt+DYHYqtqVALycfUsXIWf+fNTXapALPdOVCp JdPkcGNtUj0pLJ/WbzYe0NP4B2obIwmFV7wmgJwot60weiwWjMRRQg86zTxECzMGrW TEuyIJT8dvTer+EEPgcvK4nrsBB+t86pPejB24hrkZ+HwJFGkvbJeUcamGe008+iud eBP5v8vWjOnEt+4Rx6/umhTtuQOG6SD2UFU7bqvASOx/x4bE5s/Dqp0ndll+0OzSP3 VWZZkPfRT17Lg== X-Nifty-SrcIP: [126.93.102.113] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: "David S . Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 1/3] net: wan: wanxl: use $(CC68K) instead of $(AS68K) for rebuilding firmware Date: Wed, 25 Mar 2020 01:15:37 +0900 Message-Id: <20200324161539.7538-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.17.1 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org As far as I understood from the Kconfig help text, this build rule is used to rebuild the driver firmware, which runs on the QUICC, m68k-based Motorola 68360. The firmware source, wanxlfw.S, is currently compiled by the combo of $(CPP) and $(AS68K). This is not what we usually do for compiling *.S files. In fact, this is the only user of $(AS) in the kernel build. Moreover, $(CPP) is not likely to be a m68k tool because wanxl.c is a PCI driver, but CONFIG_M68K does not select CONFIG_HAVE_PCI. Instead of combining $(CPP) and (AS) from different tool sets, using single $(CC68K) seems simpler, and saner. After this commit, the firmware rebuild will require cc68k instead of as68k. I do not know how many people care about this, though. I do not have cc68k/ld68k in hand, but I was able to build it by using the kernel.org m68k toolchain. [1] [1] https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-m68k-linux.tar.xz Signed-off-by: Masahiro Yamada --- drivers/net/wan/Kconfig | 2 +- drivers/net/wan/Makefile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig index 4530840e15ef..0f35ad097744 100644 --- a/drivers/net/wan/Kconfig +++ b/drivers/net/wan/Kconfig @@ -200,7 +200,7 @@ config WANXL_BUILD_FIRMWARE depends on WANXL && !PREVENT_FIRMWARE_BUILD help Allows you to rebuild firmware run by the QUICC processor. - It requires as68k, ld68k and hexdump programs. + It requires cc68k, ld68k and hexdump programs. You should never need this option, say N. diff --git a/drivers/net/wan/Makefile b/drivers/net/wan/Makefile index 701f5d2fe3b6..d21a99711070 100644 --- a/drivers/net/wan/Makefile +++ b/drivers/net/wan/Makefile @@ -40,16 +40,16 @@ $(obj)/wanxl.o: $(obj)/wanxlfw.inc ifeq ($(CONFIG_WANXL_BUILD_FIRMWARE),y) ifeq ($(ARCH),m68k) - AS68K = $(AS) + CC68K = $(CC) LD68K = $(LD) else - AS68K = as68k + CC68K = cc68k LD68K = ld68k endif quiet_cmd_build_wanxlfw = BLD FW $@ cmd_build_wanxlfw = \ - $(CPP) -D__ASSEMBLY__ -Wp,-MD,$(depfile) -I$(srctree)/include/uapi $< | $(AS68K) -m68360 -o $(obj)/wanxlfw.o; \ + $(CC68K) -D__ASSEMBLY__ -Wp,-MD,$(depfile) -I$(srctree)/include/uapi -c -o $(obj)/wanxlfw.o $<; \ $(LD68K) --oformat binary -Ttext 0x1000 $(obj)/wanxlfw.o -o $(obj)/wanxlfw.bin; \ hexdump -ve '"\n" 16/1 "0x%02X,"' $(obj)/wanxlfw.bin | sed 's/0x ,//g;1s/^/static const u8 firmware[]={/;$$s/,$$/\n};\n/' >$(obj)/wanxlfw.inc; \ rm -f $(obj)/wanxlfw.bin $(obj)/wanxlfw.o From patchwork Tue Mar 24 16:15:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 11455943 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B8BD214B4 for ; Tue, 24 Mar 2020 16:16:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9AD2B20774 for ; Tue, 24 Mar 2020 16:16:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585066573; bh=QKMEnxBYMIsVGoEr2RqMombfHcAeNtr6LMiMvWqa9Ns=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=I12R6SiFTgvS06jMltszuLIiardekEmNs/QdmpbUTQf0NjTB8Xfd7Wm+Jve47SM3u gL4sclzFKkRN8t0l/0QLrXmv/YVSrHbNHCsqaJo2LIjYoMv0O5CiibdYtBL/KHUXIO lkqhgA/tPqb3FHC8py976Esyr1v38aNSM3qTxImA= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727698AbgCXQQN (ORCPT ); Tue, 24 Mar 2020 12:16:13 -0400 Received: from conuserg-11.nifty.com ([210.131.2.78]:61250 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727164AbgCXQQN (ORCPT ); Tue, 24 Mar 2020 12:16:13 -0400 Received: from grover.flets-west.jp (softbank126093102113.bbtec.net [126.93.102.113]) (authenticated) by conuserg-11.nifty.com with ESMTP id 02OGFgQa015903; Wed, 25 Mar 2020 01:15:43 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com 02OGFgQa015903 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1585066544; bh=6U1SMKUP1mv8p0i1rCMwaF/RlF0pKJ0ys8hmyjfZYno=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NS46Otd0y+b0vVCRnyv5xN1h3Xk0LBwbCBbBykQaPMOAvDPrX2Qwno0pFo2YWKmXX Q3Iq+mWhfYLumcdbT9cmPVWuH8JHHC71qlwoqrgZaCjom86vVtA+928ThOTvvSqEls 83S08I6mtIIwyzLYoR9PDDGaPpv//uDprUiIbq5OUfBk+enuFvrMBZDOhc3zsqInu0 qL50zOOvnZsaqaR9I0uvmR7XpGltFbWjd4kfv8DSrsBIeikSJKJYCzXqYMVag/YXVS DXX9rDI19rNZLG+cLXrdFxMeXL2eD8l2TOplQI+b8PUOdqdAjzJsnY3o31MNzZX3x7 V+tGrdDJZYrsQ== X-Nifty-SrcIP: [126.93.102.113] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: "David S . Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 2/3] net: wan: wanxl: refactor the firmware rebuild rule Date: Wed, 25 Mar 2020 01:15:38 +0900 Message-Id: <20200324161539.7538-2-masahiroy@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200324161539.7538-1-masahiroy@kernel.org> References: <20200324161539.7538-1-masahiroy@kernel.org> Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org Split the big recipe into 3 stages: compile, link, and hexdump. After this commit, the build log with CONFIG_WANXL_BUILD_FIRMWARE will look like this: AS68K drivers/net/wan/wanxlfw.o LD68K drivers/net/wan/wanxlfw.bin BLDFW drivers/net/wan/wanxlfw.inc CC [M] drivers/net/wan/wanxl.o Signed-off-by: Masahiro Yamada --- drivers/net/wan/Makefile | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/drivers/net/wan/Makefile b/drivers/net/wan/Makefile index d21a99711070..b667eae65066 100644 --- a/drivers/net/wan/Makefile +++ b/drivers/net/wan/Makefile @@ -47,14 +47,23 @@ else LD68K = ld68k endif -quiet_cmd_build_wanxlfw = BLD FW $@ - cmd_build_wanxlfw = \ - $(CC68K) -D__ASSEMBLY__ -Wp,-MD,$(depfile) -I$(srctree)/include/uapi -c -o $(obj)/wanxlfw.o $<; \ - $(LD68K) --oformat binary -Ttext 0x1000 $(obj)/wanxlfw.o -o $(obj)/wanxlfw.bin; \ - hexdump -ve '"\n" 16/1 "0x%02X,"' $(obj)/wanxlfw.bin | sed 's/0x ,//g;1s/^/static const u8 firmware[]={/;$$s/,$$/\n};\n/' >$(obj)/wanxlfw.inc; \ - rm -f $(obj)/wanxlfw.bin $(obj)/wanxlfw.o - -$(obj)/wanxlfw.inc: $(src)/wanxlfw.S - $(call if_changed_dep,build_wanxlfw) -targets += wanxlfw.inc +quiet_cmd_build_wanxlfw = BLDFW $@ + cmd_build_wanxlfw = hexdump -ve '"\n" 16/1 "0x%02X,"' $< | \ + sed 's/0x ,//g;1s/^/static const u8 firmware[]={/;$$s/,$$/\n};\n/' > $@ + +$(obj)/wanxlfw.inc: $(obj)/wanxlfw.bin FORCE + $(call if_changed,build_wanxlfw) + +quiet_cmd_m68kld_bin_o = LD68K $@ + cmd_m68kld_bin_o = $(LD68K) --oformat binary -Ttext 0x1000 $< -o $@ + +$(obj)/wanxlfw.bin: $(obj)/wanxlfw.o FORCE + $(call if_changed,m68kld_bin_o) + +quiet_cmd_m68kas_o_S = AS68K $@ + cmd_m68kas_o_S = $(CC68K) -D__ASSEMBLY__ -Wp,-MD,$(depfile) -I$(srctree)/include/uapi -c -o $@ $< + +$(obj)/wanxlfw.o: $(src)/wanxlfw.S FORCE + $(call if_changed_dep,m68kas_o_S) endif +targets += wanxlfw.inc wanxlfw.bin wanxlfw.o From patchwork Tue Mar 24 16:15:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 11455947 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id ACDA914B4 for ; Tue, 24 Mar 2020 16:16:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8F0AC208DB for ; Tue, 24 Mar 2020 16:16:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585066586; bh=fA1JJKMofWJEx5DohIMNQeXpdvtKHYgV6SRUsJoXH6I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=ESGGZkeUfluiUZAOrJ5cPyjm1ibgpyDwHkm/+sJQxVOa6JoLq7hYXBV218ul00pUu QAUgWdRcze1H+Jye5BRRRsRuv2lOXhaZiFSXxPpUXm8N9ABvFMj04bF0ahYgnr6Mam fG4K/1X9GlZhsEEYRdCJNPX1U+DRqQOaV9t0Wnvc= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728080AbgCXQQ0 (ORCPT ); Tue, 24 Mar 2020 12:16:26 -0400 Received: from conuserg-11.nifty.com ([210.131.2.78]:61461 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727688AbgCXQQZ (ORCPT ); Tue, 24 Mar 2020 12:16:25 -0400 Received: from grover.flets-west.jp (softbank126093102113.bbtec.net [126.93.102.113]) (authenticated) by conuserg-11.nifty.com with ESMTP id 02OGFgQb015903; Wed, 25 Mar 2020 01:15:44 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com 02OGFgQb015903 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1585066545; bh=iERwpFIUsMeWrqbzCfka8i/KOvDD+eMi426uZLpMpHs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CEHzMjUYuZdBcbNiPAV0ECAotYhBhUk01d51hpC681fG+Q4IHcjgd/CqvG/rLtAJ+ +1mseg3VTEql9JBkw4BFhHjzo7qy99y2kN1idMuTisjioz3FxQ8K/4DrdpJr3wbFSx zZk4w75G1YdE/LugiAznyUKGlSnkaaJx7wBaqkcAs9q8dxvU3X85scZIfRjeDhxSAZ bU+lWLHQ9zOOxvz+gSq6FSnVWX+cDGI+Oep7+MOuM4j4Vra4uPP5MkPx2YBGyl6tbF H/gdc51HhGSo9TVNScB2a1LX+1bNVHqrrAUlrkWtDTGKdy46tvlskTeMfDyag4pvSj OAmI/9lefCGsQ== X-Nifty-SrcIP: [126.93.102.113] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: "David S . Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Masahiro Yamada , Michal Marek , clang-built-linux@googlegroups.com Subject: [PATCH 3/3] kbuild: remove AS variable Date: Wed, 25 Mar 2020 01:15:39 +0900 Message-Id: <20200324161539.7538-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200324161539.7538-1-masahiroy@kernel.org> References: <20200324161539.7538-1-masahiroy@kernel.org> Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org As commit 5ef872636ca7 ("kbuild: get rid of misleading $(AS) from documents") noted, we rarely use $(AS) in the kernel build. Now that the only/last user of $(AS) in drivers/net/wan/Makefile was converted to $(CC), $(AS) is no longer used in the build process. You can still pass in AS=clang, which is just a switch to turn on the LLVM integrated assembler. Signed-off-by: Masahiro Yamada Reviewed-by: Nick Desaulniers Tested-by: Nick Desaulniers Reviewed-by: Nathan Chancellor Reported-by: kbuild test robot --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 16d8271192d1..339e8c51a10b 100644 --- a/Makefile +++ b/Makefile @@ -405,7 +405,6 @@ KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS) KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS) # Make variables (CC, etc...) -AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)gcc CPP = $(CC) -E @@ -472,7 +471,7 @@ KBUILD_LDFLAGS := GCC_PLUGINS_CFLAGS := CLANG_FLAGS := -export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC +export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE LEX YACC AWK INSTALLKERNEL export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE