Commit 4a5de9b7 authored by Josh Poimboeuf's avatar Josh Poimboeuf Committed by Peter Zijlstra
Browse files

objtool: Enable unreachable warnings for CLANG LTO



With IBT support in, objtool is now fully capable of following vmlinux
code flow in LTO mode.  Start reporting unreachable warnings for Clang
LTO as well.

Fixes: ed53a0d9 ("x86/alternative: Use .ibt_endbr_seal to seal indirect calls")
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/7b12df54bceeb0761fe9fc8269ea0c00501214a9.1650300597.git.jpoimboe@redhat.com
parent d66e9d50
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -231,7 +231,7 @@ objtool_args = \
	$(if $(part-of-module), --module)				\
	$(if $(CONFIG_X86_KERNEL_IBT), --lto --ibt)			\
	$(if $(CONFIG_FRAME_POINTER),, --no-fp)				\
	$(if $(CONFIG_GCOV_KERNEL)$(CONFIG_LTO_CLANG), --no-unreachable)\
	$(if $(CONFIG_GCOV_KERNEL), --no-unreachable)			\
	$(if $(CONFIG_RETPOLINE), --retpoline)				\
	$(if $(CONFIG_X86_SMAP), --uaccess)				\
	$(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount)		\
+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ objtool_link()
		if ! is_enabled CONFIG_FRAME_POINTER; then
			objtoolopt="${objtoolopt} --no-fp"
		fi
		if is_enabled CONFIG_GCOV_KERNEL || is_enabled CONFIG_LTO_CLANG; then
		if is_enabled CONFIG_GCOV_KERNEL; then
			objtoolopt="${objtoolopt} --no-unreachable"
		fi
		if is_enabled CONFIG_RETPOLINE; then