x86/purgatory: Use CFLAGS_REMOVE rather than reset KBUILD_CFLAGS
authorNick Desaulniers <[email protected]>
Wed, 7 Aug 2019 22:15:33 +0000 (15:15 -0700)
committerThomas Gleixner <[email protected]>
Thu, 8 Aug 2019 06:25:53 +0000 (08:25 +0200)
commitb059f801a937d164e03b33c1848bb3dca67c0b04
tree4cf9dd413a4b3dc9951663e08916835a5941846a
parent4ce97317f41d38584fb93578e922fcd19e535f5b
x86/purgatory: Use CFLAGS_REMOVE rather than reset KBUILD_CFLAGS

KBUILD_CFLAGS is very carefully built up in the top level Makefile,
particularly when cross compiling or using different build tools.
Resetting KBUILD_CFLAGS via := assignment is an antipattern.

The comment above the reset mentions that -pg is problematic.  Other
Makefiles use `CFLAGS_REMOVE_file.o = $(CC_FLAGS_FTRACE)` when
CONFIG_FUNCTION_TRACER is set. Prefer that pattern to wiping out all of
the important KBUILD_CFLAGS then manually having to re-add them. Seems
also that __stack_chk_fail references are generated when using
CONFIG_STACKPROTECTOR or CONFIG_STACKPROTECTOR_STRONG.

Fixes: 8fc5b4d4121c ("purgatory: core purgatory functionality")
Reported-by: Vaibhav Rustagi <[email protected]>
Suggested-by: Peter Zijlstra <[email protected]>
Suggested-by: Thomas Gleixner <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Vaibhav Rustagi <[email protected]>
Cc: [email protected]
Link: https://lkml.kernel.org/r/[email protected]
arch/x86/purgatory/Makefile