mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
kbuild: expand inlining hints with -fdiagnostics-show-inlining-chain
Clang recently added -fdiagnostics-show-inlining-chain [1] to improve the visibility of inlining chains in diagnostics. This is particularly useful for CONFIG_FORTIFY_SOURCE where detections can happen deep in inlined functions. Add this flag to KBUILD_CFLAGS under a cc-option so it is enabled if the compiler supports it. Note that GCC does not have an equivalent flag as it supports a similar diagnostic structure unconditionally. Link: https://github.com/llvm/llvm-project/pull/174892 [1] Link: https://github.com/ClangBuiltLinux/linux/issues/1571 Signed-off-by: Justin Stitt <justinstitt@google.com> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Kees Cook <kees@kernel.org> Link: https://patch.msgid.link/20260330-kbuild-show-inlining-v2-1-c0c481a4ea7b@google.com Signed-off-by: Nicolas Schier <nsc@kernel.org>
This commit is contained in:
committed by
Nicolas Schier
parent
d13a089d82
commit
404927758d
4
Makefile
4
Makefile
@@ -987,6 +987,10 @@ KBUILD_CFLAGS += $(call cc-option, -fno-stack-clash-protection)
|
||||
# Get details on warnings generated due to GCC value tracking.
|
||||
KBUILD_CFLAGS += $(call cc-option, -fdiagnostics-show-context=2)
|
||||
|
||||
# Show inlining notes for __attribute__((warning/error)) call chains.
|
||||
# GCC supports this unconditionally while Clang 23+ provides a flag.
|
||||
KBUILD_CFLAGS += $(call cc-option, -fdiagnostics-show-inlining-chain)
|
||||
|
||||
# Clear used registers at func exit (to reduce data lifetime and ROP gadgets).
|
||||
ifdef CONFIG_ZERO_CALL_USED_REGS
|
||||
KBUILD_CFLAGS += -fzero-call-used-regs=used-gpr
|
||||
|
||||
Reference in New Issue
Block a user