kbuild: refactor cmd_modversions_S
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 5 Apr 2022 11:33:58 +0000 (20:33 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 7 May 2022 18:16:58 +0000 (03:16 +0900)
Split the code into two macros, cmd_gen_symversions_S for running
genksyms, and cmd_modversions for running $(LD) to update the object
with CRCs.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
scripts/Makefile.build

index e1992dd..f15c245 100644 (file)
@@ -276,7 +276,8 @@ define rule_as_o_S
        $(call cmd_and_fixdep,as_o_S)
        $(call cmd,gen_ksymdeps)
        $(call cmd,gen_objtooldep)
-       $(call cmd,modversions_S)
+       $(call cmd,gen_symversions_S)
+       $(call cmd,modversions)
 endef
 
 # Built-in and composite module parts
@@ -363,16 +364,8 @@ ifdef CONFIG_ASM_MODVERSIONS
 # versioning matches the C process described above, with difference that
 # we parse asm-prototypes.h C header to get function definitions.
 
-cmd_modversions_S =                                                            \
-       if $(OBJDUMP) -h $@ | grep -q __ksymtab; then                           \
-               $(call cmd_gensymtypes_S,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))  \
-                   > $(@D)/.tmp_$(@F:.o=.ver);                                 \
-                                                                               \
-               $(LD) $(KBUILD_LDFLAGS) -r -o $(@D)/.tmp_$(@F) $@               \
-                       -T $(@D)/.tmp_$(@F:.o=.ver);                            \
-               mv -f $(@D)/.tmp_$(@F) $@;                                      \
-               rm -f $(@D)/.tmp_$(@F:.o=.ver);                                 \
-       fi
+cmd_gen_symversions_S = $(call gen_symversions,S)
+
 endif
 
 $(obj)/%.o: $(src)/%.S FORCE