x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support
authorZhenzhong Duan <zhenzhong.duan@oracle.com>
Fri, 2 Nov 2018 08:45:41 +0000 (01:45 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 28 Nov 2018 10:57:03 +0000 (11:57 +0100)
commit4cd24de3a0980bf3100c9dcb08ef65ca7c31af48
treee8358f10ec5689cdda1d7ad33491c607d15766c6
parent2e6e902d185027f8e3cb8b7305238f7e35d6a436
x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support

Since retpoline capable compilers are widely available, make
CONFIG_RETPOLINE hard depend on the compiler capability.

Break the build when CONFIG_RETPOLINE is enabled and the compiler does not
support it. Emit an error message in that case:

 "arch/x86/Makefile:226: *** You are building kernel with non-retpoline
  compiler, please update your compiler..  Stop."

[dwmw: Fail the build with non-retpoline compiler]

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Borislav Petkov <bp@suse.de>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: <srinivas.eeda@oracle.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/cca0cb20-f9e2-4094-840b-fb0f8810cd34@default
arch/x86/Kconfig
arch/x86/Makefile
arch/x86/include/asm/nospec-branch.h
arch/x86/kernel/cpu/bugs.c
scripts/Makefile.build