According to PeterZ's suggestion in https://lkml.org/lkml/2018/9/18/1016, hard bind retpoline with compiler support and remove minimal stuff.
Tested with both CONFIG_RETPOLINE enabled and disabled. -v3: Add Suggested-by[Ingo] Break build if compiler doesn't support retpoline[Dwmw,Tglx,Ingo] -v2: Add compiler support check in Kconfig [Masahiro] Drop 3rd patch as __insn_is_indirect_jump() may be used in some corner case.[PeterZ] Zhenzhong Duan (2): retpolines: Only enable retpoline when compiler support it retpolines: Remove the minimal stuff of retpoline support arch/x86/Kconfig | 4 ---- arch/x86/Makefile | 5 +++-- arch/x86/include/asm/nospec-branch.h | 12 ++++++------ arch/x86/kernel/cpu/bugs.c | 13 ++----------- scripts/Makefile.build | 2 -- 5 files changed, 11 insertions(+), 25 deletions(-) -- 1.8.3.1