Re: [PATCH v3 10/15] genksyms: adjust the output format to modpost

From: Nicolas Schier
Date: Thu May 05 2022 - 16:24:21 EST


On Thu, May 05, 2022 at 04:22:39PM +0900 Masahiro Yamada wrote:
> Make genksyms output symbol versions in the format modpost expects,
> so the 'sed' is unneeded.
>
> This commit makes *.symversions completely unneeded.
>
> I will keep *.symversions in .gitignore and 'make clean' for a while.
> Otherwise, some people might be upset with 'git status'.
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>
> (no changes since v2)
>
> Changes in v2:
> - New patch
>
> scripts/Makefile.build | 6 ------
> scripts/genksyms/genksyms.c | 3 +--
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index dff9220135c4..461998a2ad2b 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -165,16 +165,10 @@ ifdef CONFIG_MODVERSIONS
> # o modpost will extract versions from that file and create *.c files that will
> # be compiled and linked to the kernel and/or modules.
>
> -genksyms_format := __crc_\(.*\) = \(.*\);
> -
> gen_symversions = \
> if $(NM) $@ 2>/dev/null | grep -q __ksymtab; then \
> $(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
> - > $@.symversions; \
> - sed -n 's/$(genksyms_format)/$(pound)SYMVER \1 \2/p' $@.symversions \
> >> $(dot-target).cmd; \
> - else \
> - rm -f $@.symversions; \
> fi
>
> cmd_gen_symversions_c = $(call gen_symversions,c)
> diff --git a/scripts/genksyms/genksyms.c b/scripts/genksyms/genksyms.c
> index 6e6933ae7911..f5dfdb9d80e9 100644
> --- a/scripts/genksyms/genksyms.c
> +++ b/scripts/genksyms/genksyms.c
> @@ -680,8 +680,7 @@ void export_symbol(const char *name)
> if (flag_dump_defs)
> fputs(">\n", debugfile);
>
> - /* Used as a linker script. */
> - printf("__crc_%s = 0x%08lx;\n", name, crc);
> + printf("#SYMVER %s 0x%08lx\n", name, crc);
> }
> }
>
> --
> 2.32.0

Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>