From nobody Fri Sep 12 23:01:54 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 32B9AC07E9D for ; Mon, 26 Sep 2022 20:37:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229973AbiIZUhx (ORCPT ); Mon, 26 Sep 2022 16:37:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35762 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229871AbiIZUhs (ORCPT ); Mon, 26 Sep 2022 16:37:48 -0400 Received: from conuserg-10.nifty.com (conuserg-10.nifty.com [210.131.2.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27B179E6A9; Mon, 26 Sep 2022 13:37:45 -0700 (PDT) Received: from zoe.. (133-32-182-133.west.xps.vectant.ne.jp [133.32.182.133]) (authenticated) by conuserg-10.nifty.com with ESMTP id 28QKaWu7018737; Tue, 27 Sep 2022 05:36:41 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com 28QKaWu7018737 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1664224602; bh=0kYHR0v0Xht9beu6edv2Fg++Fw26ZI8vbsd8r5R7tlM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JtuTJAYw4LhkBbOZKNuuCK0OsB2aQnt6l5TygroYmQVy79p0dKrKueoWQbcMJnZLv D0MnmqdTtTXyP/wGjcVfZGS9hC2h8mZIIykMi9u1GG5Xjrnhj522nScOt2GxPSIm/V Qh0R94FQpXzF3U9pyRn7bnU1Lq9i/noTvRST5kglQuNR+XLEIxF3RK+80n1AnzI71N K79gElcPnjMxl5q6nTNzzCcT+w0YdjtgqVo2PaTGPkpx/js8blvbcJ0pw8M2aKxb/X AhNPPTd/c4LAthtYl6BfU5c1I3xQ1lR8J3jPY72A7kjQsJfAL/IObEkRR/4KnhTS/l OH++ITvdYFP9Q== X-Nifty-SrcIP: [133.32.182.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, Al Viro , Ard Biesheuvel , Nicolas Pitre , Masahiro Yamada , Michal Marek , Nick Desaulniers Subject: [PATCH v2 7/7] kbuild: move modules.builtin(.modinfo) rules to Makefile.vmlinux_o Date: Tue, 27 Sep 2022 05:36:25 +0900 Message-Id: <20220926203625.1117261-8-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220926203625.1117261-1-masahiroy@kernel.org> References: <20220926203625.1117261-1-masahiroy@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Do not build modules.builtin(.modinfo) as a side-effect of vmlinux. There are no good reason to rebuild them just because vmlinux's prerequistes (vmlinux.lds, .vmlinux.export.c, etc.) have been updated. Signed-off-by: Masahiro Yamada --- Changes in v2: - New patch scripts/Makefile.vmlinux_o | 26 +++++++++++++++++++++++++- scripts/link-vmlinux.sh | 7 ------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/scripts/Makefile.vmlinux_o b/scripts/Makefile.vmlinux_o index 68c22879bade..5e8f75d336af 100644 --- a/scripts/Makefile.vmlinux_o +++ b/scripts/Makefile.vmlinux_o @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only =20 PHONY :=3D __default -__default: vmlinux.o +__default: vmlinux.o modules.builtin =20 include include/config/auto.conf include $(srctree)/scripts/Kbuild.include @@ -62,6 +62,30 @@ vmlinux.o: $(initcalls-lds) vmlinux.a $(KBUILD_VMLINUX_L= IBS) FORCE =20 targets +=3D vmlinux.o =20 +# module.builtin.modinfo +# ------------------------------------------------------------------------= --- + +OBJCOPYFLAGS_modules.builtin.modinfo :=3D -j .modinfo -O binary + +targets +=3D modules.builtin.modinfo +modules.builtin.modinfo: vmlinux.o FORCE + $(call if_changed,objcopy) + +# module.builtin +# ------------------------------------------------------------------------= --- + +# The second line aids cases where multiple modules share the same object. + +quiet_cmd_modules_builtin =3D GEN $@ + cmd_modules_builtin =3D \ + tr '\0' '\n' < $< | \ + sed -n 's/^[[:alnum:]:_]*\.file=3D//p' | \ + tr ' ' '\n' | uniq | sed -e 's:^:kernel/:' -e 's/$$/.ko/' > $@ + +targets +=3D modules.builtin +modules.builtin: modules.builtin.modinfo FORCE + $(call if_changed,modules_builtin) + # Add FORCE to the prequisites of a target to force it to be always rebuil= t. # ------------------------------------------------------------------------= --- =20 diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 9c3140d33ccd..5e7a12284b39 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -214,13 +214,6 @@ if [ "$1" =3D "clean" ]; then exit 0 fi =20 -info MODINFO modules.builtin.modinfo -${OBJCOPY} -j .modinfo -O binary vmlinux.o modules.builtin.modinfo -info GEN modules.builtin -# The second line aids cases where multiple modules share the same object. -tr '\0' '\n' < modules.builtin.modinfo | sed -n 's/^[[:alnum:]:_]*\.file= =3D//p' | - tr ' ' '\n' | uniq | sed -e 's:^:kernel/:' -e 's/$/.ko/' > modules.builtin - if is_enabled CONFIG_MODULES; then ${MAKE} -f "${srctree}/scripts/Makefile.vmlinux" .vmlinux.export.o fi --=20 2.34.1