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

Masahiro Yamada
2022-05-05T07:29:19Z

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@kernel.org>
---

(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