x86/purgatory: Use CFLAGS_REMOVE rather than reset KBUILD_CFLAGS
authorNick Desaulniers <ndesaulniers@google.com>
Wed, 7 Aug 2019 22:15:33 +0000 (15:15 -0700)
committerThomas Gleixner <tglx@linutronix.de>
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 <vaibhavrustagi@google.com>
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Vaibhav Rustagi <vaibhavrustagi@google.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20190807221539.94583-2-ndesaulniers@google.com
arch/x86/purgatory/Makefile