diff --git a/scripts/Makefile.modfinal b/scripts/Makefile.modfinal index 216a3f84bafe..6eb343ed0cad 100644 --- a/scripts/Makefile.modfinal +++ b/scripts/Makefile.modfinal @@ -6,7 +6,6 @@ PHONY := __modfinal __modfinal: -include $(objtree)/include/config/auto.conf include $(srctree)/scripts/Kbuild.include # for c_flags @@ -36,10 +35,11 @@ ifdef CONFIG_LTO_CLANG cmd_ld_ko_o = \ $(LD) -r $(LDFLAGS) \ $(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE) \ - $(addprefix -T , $(KBUILD_LDS_MODULE)) \ + $(addprefix -T , $(KBUILD_LDS_MODULE)) \ $(shell [ -s $(@:.ko=.o.symversions) ] && \ echo -T $(@:.ko=.o.symversions)) \ - -o $@ --whole-archive $(filter %.o, $^); \ + -o $@ --whole-archive \ + $(filter-out FORCE,$(^:$(modpost-ext).o=.o)); \ $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) ifdef CONFIG_FTRACE_MCOUNT_RECORD @@ -54,7 +54,7 @@ else $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) endif -$(modules): %.ko: %.o %.mod.o $(KBUILD_LDS_MODULE) FORCE +$(modules): %.ko: %$(modpost-ext).o %.o %.mod.o $(KBUILD_LDS_MODULE) FORCE +$(call if_changed,ld_ko_o) targets += $(modules) $(modules:.ko=.mod.o)