History

Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 pti bits and fixes from Thomas Gleixner: "This last update contains: - An objtool fix to prevent a segfault with the gold linker by changing the invocation order. That's not just for gold, it's a general robustness improvement. - An improved error message for objtool which spares tearing hairs. - Make KASAN fail loudly if there is not enough memory instead of oopsing at some random place later - RSB fill on context switch to prevent RSB underflow and speculation through other units. - Make the retpoline/RSB functionality work reliably for both Intel and AMD - Add retpoline to the module version magic so mismatch can be detected - A small (non-fix) update for cpufeatures which prevents cpu feature clashing for the upcoming extra mitigation bits to ease backporting" * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: module: Add retpoline tag to VERMAGIC x86/cpufeature: Move processor tracing out of scattered features objtool: Improve error message for bad file argument objtool: Fix seg fault with gold linker x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros x86/retpoline: Fill RSB on context switch for affected CPUs x86/kasan: Panic if there is not enough memory to boot

Linus Torvalds committed 8 years ago

Commit 88dc7fc2 parents dd43f34 6cfb52110 files · +99 −19Browse files

Showing the changes to scripts (1 of 10 files). Show all

Unified · Split

scripts/Makefile.build+10−4
@@ -265,12 +265,18 @@ else · 264 unmodified lines
265265 objtool_args += $(call cc-ifversion, -lt, 0405, --no-unreachable)
266266 endif
267267
268+ifdef CONFIG_MODVERSIONS
269+objtool_o = $(@D)/.tmp_$(@F)
270+else
271+objtool_o = $(@)
272+endif
273+
268274 # 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory
269275 # 'OBJECT_FILES_NON_STANDARD_foo.o := 'y': skip objtool checking for a file
270276 # 'OBJECT_FILES_NON_STANDARD_foo.o := 'n': override directory skip for a file
271277 cmd_objtool = $(if $(patsubst y%,, \
272278 $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \
273− $(__objtool_obj) $(objtool_args) "$(@)";)
279+ $(__objtool_obj) $(objtool_args) "$(objtool_o)";)
274280 objtool_obj = $(if $(patsubst y%,, \
275281 $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \
276282 $(__objtool_obj))
@@ -286,16 +292,16 @@ objtool_dep = $(objtool_obj) \ · 9 unmodified lines
286292 define rule_cc_o_c
287293 $(call echo-cmd,checksrc) $(cmd_checksrc) \
288294 $(call cmd_and_fixdep,cc_o_c) \
289− $(cmd_modversions_c) \
290295 $(cmd_checkdoc) \
291296 $(call echo-cmd,objtool) $(cmd_objtool) \
297+ $(cmd_modversions_c) \
292298 $(call echo-cmd,record_mcount) $(cmd_record_mcount)
293299 endef
294300
295301 define rule_as_o_S
296302 $(call cmd_and_fixdep,as_o_S) \
297− $(cmd_modversions_S) \
298− $(call echo-cmd,objtool) $(cmd_objtool)
303+ $(call echo-cmd,objtool) $(cmd_objtool) \
304+ $(cmd_modversions_S)
299305 endef
300306
301307 # List module undefined symbols (or empty line if not enabled)