Commit 91ca8be3 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: remove support for single %.symtypes build rule



This rule is unnecessary because you can generate foo/bar.symtypes
as a side effect using:

  $ make KBUILD_SYMTYPES=1 foo/bar.o

While compiling *.o is slower than preprocessing, the impact is
negligible. I prioritize keeping the code simpler.

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
parent c2386abf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -301,7 +301,7 @@ no-dot-config-targets := $(clean-targets) \
			 outputmakefile rustavailable rustfmt rustfmtcheck
no-sync-config-targets := $(no-dot-config-targets) %install modules_sign kernelrelease \
			  image_name
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %/

config-build	:=
mixed-build	:=
+4 −18
Original line number Diff line number Diff line
@@ -108,19 +108,13 @@ $(obj)/%.i: $(obj)/%.c FORCE
	$(call if_changed_dep,cpp_i_c)

genksyms = $(objtree)/scripts/genksyms/genksyms		\
	$(if $(1), -T $(2))			\
	$(if $(KBUILD_SYMTYPES), -T $(@:.o=.symtypes))	\
	$(if $(KBUILD_PRESERVE), -p)			\
	$(addprefix -r , $(wildcard $(2:.symtypes=.symref)))
	$(addprefix -r , $(wildcard $(@:.o=.symref)))

# These mirror gensymtypes_S and co below, keep them in synch.
cmd_gensymtypes_c = $(CPP) -D__GENKSYMS__ $(c_flags) $< | $(genksyms)

quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
      cmd_cc_symtypes_c = $(call cmd_gensymtypes_c,true,$@) >/dev/null

$(obj)/%.symtypes : $(obj)/%.c FORCE
	$(call cmd,cc_symtypes_c)

# LLVM assembly
# Generate .ll files from .c
quiet_cmd_cc_ll_c = CC $(quiet_modtag)  $@
@@ -158,8 +152,7 @@ ifdef CONFIG_MODVERSIONS

gen_symversions =								\
	if $(NM) $@ 2>/dev/null | grep -q ' __export_symbol_'; then		\
		$(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
			>> $(dot-target).cmd;					\
		$(cmd_gensymtypes_$1) >> $(dot-target).cmd;			\
	fi

cmd_gen_symversions_c =	$(call gen_symversions,c)
@@ -323,13 +316,6 @@ cmd_gensymtypes_S = \
     $(NM) $@ | sed -n 's/.* __export_symbol_\(.*\)/EXPORT_SYMBOL(\1);/p' ; } | \
    $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | $(genksyms)

quiet_cmd_cc_symtypes_S = SYM $(quiet_modtag) $@
      cmd_cc_symtypes_S = $(call cmd_gensymtypes_S,true,$@) >/dev/null

$(obj)/%.symtypes : $(obj)/%.S FORCE
	$(call cmd,cc_symtypes_S)


quiet_cmd_cpp_s_S = CPP $(quiet_modtag) $@
cmd_cpp_s_S       = $(CPP) $(a_flags) -o $@ $<