From: Alexey Gladkov <legion@kernel.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas.schier@linux.dev>,
Petr Pavlu <petr.pavlu@suse.com>,
Luis Chamberlain <mcgrof@kernel.org>,
Sami Tolvanen <samitolvanen@google.com>,
Daniel Gomez <da.gomez@samsung.com>,
linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org,
linux-kbuild@vger.kernel.org
Subject: Re: [PATCH v6 3/9] kbuild: extract modules.builtin.modinfo from vmlinux.unstripped
Date: Sun, 17 Aug 2025 14:52:39 +0200 [thread overview]
Message-ID: <aKHQl_XC63-c-81L@example.org> (raw)
In-Reply-To: <CAK7LNAR-gD2H6Kk-rZjo0R3weTHCGTm0a=u2tRH1WWW6Sx6=RQ@mail.gmail.com>
On Sun, Aug 17, 2025 at 09:34:52PM +0900, Masahiro Yamada wrote:
> On Thu, Aug 14, 2025 at 10:08 PM Alexey Gladkov <legion@kernel.org> wrote:
> >
> > From: Masahiro Yamada <masahiroy@kernel.org>
> >
> > 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>
> > Signed-off-by: Alexey Gladkov <legion@kernel.org>
>
> I got this report from Stephen
> https://lore.kernel.org/lkml/20250730164047.7c4a731a@canb.auug.org.au/
>
> Please make sure to have no regression.
> If this is difficult to solve, please discard this patch,
> and consider a different approach.
My emails must have gotten lost somewhere. Because I replied to that
message right away and provided a fix. Stephen even applied it to the tree
later. You were in CC whole time.
https://lore.kernel.org/all/20250730090025.2402129-1-legion@kernel.org/
Tomorrow I will make a new version with the corrections I missed. But now,
I'm not sure to which tree I should send it.
>
> > ---
> > scripts/Makefile.vmlinux | 26 ++++++++++++++++++++++++++
> > scripts/Makefile.vmlinux_o | 26 +-------------------------
> > 2 files changed, 27 insertions(+), 25 deletions(-)
> >
> > diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> > index e2ceeb9e168d..fdab5aa90215 100644
> > --- a/scripts/Makefile.vmlinux
> > +++ b/scripts/Makefile.vmlinux
> > @@ -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.50.1
> >
>
>
> --
> Best Regards
> Masahiro Yamada
>
--
Rgrds, legion
next prev parent reply other threads:[~2025-08-17 12:52 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 13:07 [PATCH v6 0/9] Add generated modalias to modules.builtin.modinfo Alexey Gladkov
2025-08-14 13:07 ` [PATCH v6 1/9] kbuild: always create intermediate vmlinux.unstripped Alexey Gladkov
2025-08-14 13:07 ` [PATCH v6 2/9] kbuild: keep .modinfo section in vmlinux.unstripped Alexey Gladkov
2025-08-14 13:07 ` [PATCH v6 3/9] kbuild: extract modules.builtin.modinfo from vmlinux.unstripped Alexey Gladkov
2025-08-17 12:34 ` Masahiro Yamada
2025-08-17 12:52 ` Alexey Gladkov [this message]
2025-08-18 6:43 ` Nathan Chancellor
2025-08-14 13:07 ` [PATCH v6 4/9] scsi: Always define blogic_pci_tbl structure Alexey Gladkov
2025-08-19 2:04 ` Martin K. Petersen
2025-08-19 7:18 ` Nathan Chancellor
2025-08-20 1:52 ` Martin K. Petersen
2025-08-20 16:11 ` Nathan Chancellor
2025-08-25 10:09 ` Alexey Gladkov
2025-08-25 16:56 ` Nathan Chancellor
2025-08-14 13:07 ` [PATCH v6 5/9] pinctrl: meson: Fix typo in device table macro Alexey Gladkov
2025-08-14 13:07 ` Alexey Gladkov
2025-08-18 9:11 ` Linus Walleij
2025-08-18 9:11 ` Linus Walleij
2025-08-14 13:07 ` [PATCH v6 6/9] modpost: Add modname to mod_device_table alias Alexey Gladkov
2025-08-14 13:26 ` Danilo Krummrich
2025-08-14 13:54 ` Alexey Gladkov
2025-08-14 14:03 ` Danilo Krummrich
2025-08-14 21:46 ` Alexey Gladkov
2025-08-14 22:17 ` Danilo Krummrich
2025-08-14 13:07 ` [PATCH v6 7/9] modpost: Create modalias for builtin modules Alexey Gladkov
2025-08-14 13:07 ` [PATCH v6 8/9] kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o Alexey Gladkov
2025-08-14 13:07 ` [PATCH v6 9/9] s390: vmlinux.lds.S: Reorder sections Alexey Gladkov
2025-08-14 14:16 ` Heiko Carstens
2025-08-14 21:51 ` Alexey Gladkov
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=aKHQl_XC63-c-81L@example.org \
--to=legion@kernel.org \
--cc=da.gomez@samsung.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=mcgrof@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas.schier@linux.dev \
--cc=petr.pavlu@suse.com \
--cc=samitolvanen@google.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.