summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile.modfinal
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2021-04-29 21:45:19 +0200
committerJiri Kosina <jkosina@suse.cz>2021-04-29 21:45:19 +0200
commite50fedec822efc7b7090f95862b782d91ca8aec0 (patch)
tree22dd6b534d00a1f7fc3823f0d88e0d43547fc87b /scripts/Makefile.modfinal
parentcfc9bdfb6ba76de84a9ed8ee75dc56903b505a78 (diff)
parent35a927f2848bd79586c6374ebb99e4207f3b0c7f (diff)
downloadlinux-e50fedec822efc7b7090f95862b782d91ca8aec0.tar.gz
linux-e50fedec822efc7b7090f95862b782d91ca8aec0.zip
Merge branch 'for-5.13/surface-system-aggregator-intergration' into for-linus
- Surface Aggregator Module support from Maximilian Luz
Diffstat (limited to 'scripts/Makefile.modfinal')
-rw-r--r--scripts/Makefile.modfinal19
1 files changed, 16 insertions, 3 deletions
diff --git a/scripts/Makefile.modfinal b/scripts/Makefile.modfinal
index 6de2c35b64e8..735e11e9041b 100644
--- a/scripts/Makefile.modfinal
+++ b/scripts/Makefile.modfinal
@@ -9,7 +9,7 @@ __modfinal:
include include/config/auto.conf
include $(srctree)/scripts/Kbuild.include
-# for c_flags
+# for c_flags and objtool_args
include $(srctree)/scripts/Makefile.lib
# find all modules listed in modules.order
@@ -34,10 +34,23 @@ ifdef CONFIG_LTO_CLANG
# With CONFIG_LTO_CLANG, reuse the object file we compiled for modpost to
# avoid a second slow LTO link
prelink-ext := .lto
-endif
+
+# ELF processing was skipped earlier because we didn't have native code,
+# so let's now process the prelinked binary before we link the module.
+
+ifdef CONFIG_STACK_VALIDATION
+ifneq ($(SKIP_STACK_VALIDATION),1)
+cmd_ld_ko_o += \
+ $(objtree)/tools/objtool/objtool $(objtool_args) \
+ $(@:.ko=$(prelink-ext).o);
+
+endif # SKIP_STACK_VALIDATION
+endif # CONFIG_STACK_VALIDATION
+
+endif # CONFIG_LTO_CLANG
quiet_cmd_ld_ko_o = LD [M] $@
- cmd_ld_ko_o = \
+ cmd_ld_ko_o += \
$(LD) -r $(KBUILD_LDFLAGS) \
$(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE) \
-T scripts/module.lds -o $@ $(filter %.o, $^); \