genksyms: adjust the output format to modpost

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, 'git status' might be surprising.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # LLVM-14 (x86-64)
This commit is contained in:
Masahiro Yamada 2022-05-13 20:39:24 +09:00
parent 7375cbcf23
commit 5ce2176b81
2 changed files with 1 additions and 7 deletions

View File

@ -165,16 +165,10 @@ ifdef CONFIG_MODVERSIONS
# o modpost will extract versions from that file and create *.c files that will # o modpost will extract versions from that file and create *.c files that will
# be compiled and linked to the kernel and/or modules. # be compiled and linked to the kernel and/or modules.
genksyms_format := __crc_\(.*\) = \(.*\);
gen_symversions = \ gen_symversions = \
if $(NM) $@ 2>/dev/null | grep -q __ksymtab; then \ if $(NM) $@ 2>/dev/null | grep -q __ksymtab; then \
$(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ $(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
> $@.symversions; \
sed -n 's/$(genksyms_format)/$(pound)SYMVER \1 \2/p' $@.symversions \
>> $(dot-target).cmd; \ >> $(dot-target).cmd; \
else \
rm -f $@.symversions; \
fi fi
cmd_gen_symversions_c = $(call gen_symversions,c) cmd_gen_symversions_c = $(call gen_symversions,c)

View File

@ -680,7 +680,7 @@ void export_symbol(const char *name)
if (flag_dump_defs) if (flag_dump_defs)
fputs(">\n", debugfile); fputs(">\n", debugfile);
printf("__crc_%s = 0x%08lx;\n", name, crc); printf("#SYMVER %s 0x%08lx\n", name, crc);
} }
} }