From: Alexey Gladkov <legion@kernel.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org, Petr Pavlu <petr.pavlu@suse.com>,
Ard Biesheuvel <ardb@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas@fjasle.eu>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] kbuild: extract modules.builtin.modinfo from vmlinux.unstripped
Date: Wed, 11 Jun 2025 12:38:30 +0200 [thread overview]
Message-ID: <aElcpj7sC2XUiMPb@example.org> (raw)
In-Reply-To: <20250606041029.614348-5-masahiroy@kernel.org>
On Fri, Jun 06, 2025 at 01:10:26PM +0900, Masahiro Yamada wrote:
> Currently, we assume all the data for modules.builtin.modinfo are
> available in vmlinux.o.
>
> This makes it impossible for modpost, which is invoked after vmlinux.o,
> to add additional module info.
>
> This commit moves the modules.builtin.modinfo rule after modpost.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
> scripts/Makefile.vmlinux | 28 +++++++++++++++++++++++++++-
> scripts/Makefile.vmlinux_o | 26 +-------------------------
> 2 files changed, 28 insertions(+), 26 deletions(-)
>
> diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> index e2ceeb9e168d..45597068f11f 100644
> --- a/scripts/Makefile.vmlinux
> +++ b/scripts/Makefile.vmlinux
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
>
> PHONY := __default
> -__default: vmlinux
> +__default:
I found the problem. The problem I was talking about earlier [1] is caused
by this hunk. If I revert it, everything will work.
[1] https://lore.kernel.org/all/aEWhwur_W6UwDsx_@example.org/
> include include/config/auto.conf
> include $(srctree)/scripts/Kbuild.include
> @@ -96,6 +96,32 @@ targets += vmlinux
> vmlinux: vmlinux.unstripped FORCE
> $(call if_changed,strip_relocs)
>
> +# modules.builtin.modinfo
> +# ---------------------------------------------------------------------------
> +
> +OBJCOPYFLAGS_modules.builtin.modinfo := -j .modinfo -O binary
> +
> +targets += modules.builtin.modinfo
> +modules.builtin.modinfo: vmlinux.unstripped FORCE
> + $(call if_changed,objcopy)
> +
> +# modules.builtin
> +# ---------------------------------------------------------------------------
> +
> +__default: modules.builtin
> +
> +# The second line aids cases where multiple modules share the same object.
> +
> +quiet_cmd_modules_builtin = GEN $@
> + cmd_modules_builtin = \
> + tr '\0' '\n' < $< | \
> + sed -n 's/^[[:alnum:]:_]*\.file=//p' | \
> + tr ' ' '\n' | uniq | sed -e 's:^:kernel/:' -e 's/$$/.ko/' > $@
> +
> +targets += modules.builtin
> +modules.builtin: modules.builtin.modinfo FORCE
> + $(call if_changed,modules_builtin)
> +
> # modules.builtin.ranges
> # ---------------------------------------------------------------------------
> ifdef CONFIG_BUILTIN_MODULE_RANGES
> diff --git a/scripts/Makefile.vmlinux_o b/scripts/Makefile.vmlinux_o
> index b024ffb3e201..23c8751285d7 100644
> --- a/scripts/Makefile.vmlinux_o
> +++ b/scripts/Makefile.vmlinux_o
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
>
> PHONY := __default
> -__default: vmlinux.o modules.builtin.modinfo modules.builtin
> +__default: vmlinux.o
>
> include include/config/auto.conf
> include $(srctree)/scripts/Kbuild.include
> @@ -73,30 +73,6 @@ vmlinux.o: $(initcalls-lds) vmlinux.a $(KBUILD_VMLINUX_LIBS) FORCE
>
> targets += vmlinux.o
>
> -# modules.builtin.modinfo
> -# ---------------------------------------------------------------------------
> -
> -OBJCOPYFLAGS_modules.builtin.modinfo := -j .modinfo -O binary
> -
> -targets += modules.builtin.modinfo
> -modules.builtin.modinfo: vmlinux.o FORCE
> - $(call if_changed,objcopy)
> -
> -# modules.builtin
> -# ---------------------------------------------------------------------------
> -
> -# The second line aids cases where multiple modules share the same object.
> -
> -quiet_cmd_modules_builtin = GEN $@
> - cmd_modules_builtin = \
> - tr '\0' '\n' < $< | \
> - sed -n 's/^[[:alnum:]:_]*\.file=//p' | \
> - tr ' ' '\n' | uniq | sed -e 's:^:kernel/:' -e 's/$$/.ko/' > $@
> -
> -targets += modules.builtin
> -modules.builtin: modules.builtin.modinfo FORCE
> - $(call if_changed,modules_builtin)
> -
> # Add FORCE to the prerequisites of a target to force it to be always rebuilt.
> # ---------------------------------------------------------------------------
>
> --
> 2.43.0
>
--
Rgrds, legion
next prev parent reply other threads:[~2025-06-11 10:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-06 4:10 [PATCH 0/4] kbuild: generate module.builtin.modinfo from vmlinux.unstripped instead of vmlinux.o Masahiro Yamada
2025-06-06 4:10 ` [PATCH 1/4] module: remove meaningless 'name' parameter from __MODULE_INFO() Masahiro Yamada
2025-06-13 10:21 ` Petr Pavlu
2025-06-06 4:10 ` [PATCH 2/4] kbuild: always create intermediate vmlinux.unstripped Masahiro Yamada
2025-06-06 4:10 ` [PATCH 3/4] kbuild: keep .modinfo section in vmlinux.unstripped Masahiro Yamada
2025-06-06 12:53 ` kernel test robot
2025-06-06 4:10 ` [PATCH 4/4] kbuild: extract modules.builtin.modinfo from vmlinux.unstripped Masahiro Yamada
2025-06-07 0:46 ` kernel test robot
2025-06-11 10:38 ` Alexey Gladkov [this message]
2025-06-08 14:44 ` [PATCH 0/4] kbuild: generate module.builtin.modinfo from vmlinux.unstripped instead of vmlinux.o Alexey Gladkov
2025-06-11 10:34 ` [PATCH 0/3] Add generated modalias to modules.builtin.modinfo Alexey Gladkov
2025-06-11 10:34 ` [PATCH 1/3] scsi: Always define blogic_pci_tbl structure Alexey Gladkov
2025-06-11 10:34 ` [PATCH 2/3] modpost: Add modname to mod_device_table alias Alexey Gladkov
2025-06-11 10:34 ` [PATCH 3/3] modpost: Create modalias for builtin modules Alexey Gladkov
-- strict thread matches above, loose matches on Subject: below --
2025-06-06 9:27 [PATCH 4/4] kbuild: extract modules.builtin.modinfo from vmlinux.unstripped kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aElcpj7sC2XUiMPb@example.org \
--to=legion@kernel.org \
--cc=ardb@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=petr.pavlu@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.