Re: [PATCH v7 8/8] kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o

ChaosEsque Team
2025-10-02T16:32:59Z

Alexey Gladkov.
RUSSSSKKIIEEEEEEE
(Rus)

On Mon, Aug 18, 2025 at 1:00 PM Alexey Gladkov <legion@kernel.org> wrote:
>
> Since .vmlinux.export.c is used to add generated by modpost modaliases
> for builtin modules the .vmlinux.export.o is no longer optional and
> should always be created. The generation of this file is not dependent
> on CONFIG_MODULES.
>
> Signed-off-by: Alexey Gladkov <legion@kernel.org>
> ---
> scripts/Makefile.vmlinux | 9 ++-------
> scripts/link-vmlinux.sh | 5 +----
> 2 files changed, 3 insertions(+), 11 deletions(-)
>
> diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> index fcc188d26ead1..dbbe3bf0cf234 100644
> --- a/scripts/Makefile.vmlinux
> +++ b/scripts/Makefile.vmlinux
> @@ -53,11 +53,6 @@ endif
> # vmlinux.unstripped
> # ---------------------------------------------------------------------------
>
> -ifdef CONFIG_MODULES
> -targets += .vmlinux.export.o
> -vmlinux.unstripped: .vmlinux.export.o
> -endif
> -
> ifdef CONFIG_ARCH_WANTS_PRE_LINK_VMLINUX
> vmlinux.unstripped: arch/$(SRCARCH)/tools/vmlinux.arch.o
>
> @@ -72,8 +67,8 @@ cmd_link_vmlinux = \
> $< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)" "$@"; \
> $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
>
> -targets += vmlinux.unstripped
> -vmlinux.unstripped: scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE
> +targets += vmlinux.unstripped .vmlinux.export.o
> +vmlinux.unstripped: scripts/link-vmlinux.sh vmlinux.o .vmlinux.export.o $(KBUILD_LDS) FORCE
> +$(call if_changed_dep,link_vmlinux)
> ifdef CONFIG_DEBUG_INFO_BTF
> vmlinux.unstripped: $(RESOLVE_BTFIDS)
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index 51367c2bfc21e..433849ff7529e 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -73,10 +73,7 @@ vmlinux_link()
> objs="${objs} .builtin-dtbs.o"
> fi
>
> - if is_enabled CONFIG_MODULES; then
> - objs="${objs} .vmlinux.export.o"
> - fi
> -
> + objs="${objs} .vmlinux.export.o"
> objs="${objs} init/version-timestamp.o"
>
> if [ "${SRCARCH}" = "um" ]; then
> --
> 2.50.1
>
>