Re: [PATCH 4/5] kbuild: create symlink to vmlinux-gdb.py in scripts_gdb target

From: Kieran Bingham
Date: Wed Feb 27 2019 - 06:48:40 EST


Hi Yamada-san,

On 19/02/2019 09:33, Masahiro Yamada wrote:
> It is weird to create gdb stuff as a side-effect of vmlinux.
>
> Move it to a more relevant place.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---
>
> Makefile | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index a5762c6..0459260 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1015,9 +1015,6 @@ cmd_link-vmlinux = \
> $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
>
> vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
> -ifdef CONFIG_GDB_SCRIPTS
> - $(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
> -endif

My initial thought was, doesn't this have a dependency on the vmlinux
... but of course it doesn't. It's not symlinking to the output binary -
it's creating a helper link for GDB to know how to tie in the
scripts-gdb package. It doesn't require vmlinux to exist at all.

So yes, I agree this is fine.


> +$(call if_changed,link-vmlinux)
>
> targets := vmlinux
> @@ -1519,6 +1516,7 @@ $(DOC_TARGETS): scripts_basic FORCE
> PHONY += scripts_gdb
> scripts_gdb: prepare
> $(Q)$(MAKE) $(build)=scripts/gdb
> + $(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)

and especially as we now have this convenient location for it.
This looks much better.

Reviewed-by: Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx>

>
> ifdef CONFIG_GDB_SCRIPTS
> all: scripts_gdb
>


--
Regards
--
Kieran