Re: [PATCH 1/3] kbuild: add dependency from vmlinux to resolve_btfids

From: Thomas Weißschuh
Date: Sun Nov 24 2024 - 15:58:09 EST


On 2024-11-24 21:33:34+0100, Jiri Olsa wrote:
> On Sat, Nov 23, 2024 at 02:33:37PM +0100, Thomas Weißschuh wrote:
> > resolve_btfids is used by link-vmlinux.sh.
> > In contrast to other configuration options and targets no transitive
> > dependency between resolve_btfids and vmlinux.
> > Add an explicit one.
>
> hi,
> there's prepare dependency in root Makefile, isn't it enough?

It doesn't seem for me.
If the source of resolve_btfids is changed, it itself is recompiled as
per the current Makefile, but vmlinux is not relinked/BTFID'd.

> ifdef CONFIG_BPF
> ifdef CONFIG_DEBUG_INFO_BTF
> prepare: tools/bpf/resolve_btfids
> endif
> endif
>
> thanks,
> jirka
>
> >
> > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
> > ---
> > scripts/Makefile.vmlinux | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> > index 1284f05555b97f726c6d167a09f6b92f20e120a2..599b486adb31cfb653e54707b7d77052d372b7c1 100644
> > --- a/scripts/Makefile.vmlinux
> > +++ b/scripts/Makefile.vmlinux
> > @@ -32,6 +32,9 @@ cmd_link_vmlinux = \
> > targets += vmlinux
> > vmlinux: scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE
> > +$(call if_changed_dep,link_vmlinux)
> > +ifdef CONFIG_DEBUG_INFO_BTF
> > +vmlinux: $(RESOLVE_BTFIDS)
> > +endif
> >
> > # module.builtin.ranges
> > # ---------------------------------------------------------------------------
> >
> > --
> > 2.47.0
> >