On Thu, Aug 19, 2021 at 09:57:43AM +0900, Masahiro Yamada wrote: > Now cmd_modversions_c and cmd_modversions_S are similar. > > The latter uses $(OBJDUMP) -h, but it can be replaced with $(NM). > > $(NM) works for both ELF and LLVM bitcode (if $(NM) is llvm-nm). > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> Ah yeah. That's nice consolidation. Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> -Kees > --- > > scripts/Makefile.build | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > index 874e84a1f3fc..97392c26ebd7 100644 > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -166,13 +166,16 @@ ifdef CONFIG_MODVERSIONS > > # Generate .o.symversions files for each .o with exported symbols, and link these > # to the kernel and/or modules at the end. > -cmd_modversions_c = \ > +cmd_modversions = \ > if $(NM) $@ 2>/dev/null | grep -q __ksymtab; then \ > - $(call cmd_gensymtypes_c,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ > + $(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ > > $@.symversions; \ > else \ > rm -f $@.symversions; \ > fi; > + > +cmd_modversions_c = $(call cmd_modversions,c) > + > endif > > ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT > @@ -327,14 +330,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 = $(call cmd_modversions,S) > > -cmd_modversions_S = \ > - if $(OBJDUMP) -h $@ | grep -q __ksymtab; then \ > - $(call cmd_gensymtypes_S,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ > - > $@.symversions; \ > - else \ > - rm -rf $@.symversions; \ > - fi > endif > > $(obj)/%.o: $(src)/%.S $(objtool_dep) FORCE > -- > 2.30.2 > -- Kees Cook