Re: [PATCH v2 01/10] kbuild: factor out genksyms command from cmd_gensymtypes_{c,S}

From: Nick Desaulniers
Date: Tue Apr 05 2022 - 18:09:34 EST


On Tue, Apr 5, 2022 at 4:34 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> The genksyms command part in cmd_gensymtypes_{c,S} is duplicated.
> Factor it out into the 'genksyms' macro.
>
> For the readability, I slightly refactor the arguments to genksyms.
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

It looks like you may have sent v2 twice; apologies if I comment on
BOTH threads rather than 1.

Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

> ---
>
> Changes in v2:
> - Fix the location of the closing parenthesis
>
> scripts/Makefile.build | 19 ++++++++-----------
> 1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 9717e6f6fb31..31e0e33dfe5d 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -125,13 +125,14 @@ cmd_cpp_i_c = $(CPP) $(c_flags) -o $@ $<
> $(obj)/%.i: $(src)/%.c FORCE
> $(call if_changed_dep,cpp_i_c)
>
> +genksyms = scripts/genksyms/genksyms \
> + $(if $(1), -T $(2)) \
> + $(if $(CONFIG_MODULE_REL_CRCS), -R) \
> + $(if $(KBUILD_PRESERVE), -p) \
> + -r $(or $(wildcard $(2:.symtypes=.symref)), /dev/null)
> +
> # These mirror gensymtypes_S and co below, keep them in synch.
> -cmd_gensymtypes_c = \
> - $(CPP) -D__GENKSYMS__ $(c_flags) $< | \
> - scripts/genksyms/genksyms $(if $(1), -T $(2)) \
> - $(patsubst y,-R,$(CONFIG_MODULE_REL_CRCS)) \
> - $(if $(KBUILD_PRESERVE),-p) \
> - -r $(firstword $(wildcard $(2:.symtypes=.symref) /dev/null))
> +cmd_gensymtypes_c = $(CPP) -D__GENKSYMS__ $(c_flags) $< | $(genksyms)
>
> quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
> cmd_cc_symtypes_c = \
> @@ -344,11 +345,7 @@ cmd_gensymtypes_S = \
> $(CPP) $(a_flags) $< | \
> grep "\<___EXPORT_SYMBOL\>" | \
> sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ; } | \
> - $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | \
> - scripts/genksyms/genksyms $(if $(1), -T $(2)) \
> - $(patsubst y,-R,$(CONFIG_MODULE_REL_CRCS)) \
> - $(if $(KBUILD_PRESERVE),-p) \
> - -r $(firstword $(wildcard $(2:.symtypes=.symref) /dev/null))
> + $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | $(genksyms)
>
> quiet_cmd_cc_symtypes_S = SYM $(quiet_modtag) $@
> cmd_cc_symtypes_S = \
> --
> 2.32.0
>


--
Thanks,
~Nick Desaulniers