All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] x86/build: fix compiler support check for CONFIG_RETPOLINE
@ 2018-12-05  6:27 Masahiro Yamada
  2018-12-05  6:59 ` Meelis Roos
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Masahiro Yamada @ 2018-12-05  6:27 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, x86
  Cc: Zhenzhong Duan, Meelis Roos, Masahiro Yamada, H. Peter Anvin,
	Borislav Petkov, linux-kernel

It is troublesome to add a diagnostic like this to the Makefile
parse stage because the top-level Makefile could be parsed with
a stale include/config/auto.conf.

Once you are hit by the error about non-retpoline compiler, the
compilation still breaks even after disabling CONFIG_RETPOLINE.

The easiest fix is to move this check to the "archprepare" like commit
829fe4aa9ac1 ("x86: Allow generating user-space headers without a
compiler") did.

Link: https://lkml.org/lkml/2018/12/4/206
Fixes: 4cd24de3a098 ("x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support")
Reported-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

Changes in v2:
  - Revive ifdef CONFIG_RETPOLINE surrounding the KBUILD_CFLAGS addition
  - Rephase the commit log a bit, hoping the cause of the issue will be clearer

 arch/x86/Makefile | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index f5d7f41..75ef499 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -220,9 +220,6 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
 
 # Avoid indirect branches in kernel to deal with Spectre
 ifdef CONFIG_RETPOLINE
-ifeq ($(RETPOLINE_CFLAGS),)
-  $(error You are building kernel with non-retpoline compiler, please update your compiler.)
-endif
   KBUILD_CFLAGS += $(RETPOLINE_CFLAGS)
 endif
 
@@ -307,6 +304,13 @@ ifndef CC_HAVE_ASM_GOTO
 	@echo Compiler lacks asm-goto support.
 	@exit 1
 endif
+ifdef CONFIG_RETPOLINE
+ifeq ($(RETPOLINE_CFLAGS),)
+	@echo "You are building kernel with non-retpoline compiler." >&2
+	@echo "Please update your compiler." >&2
+	@false
+endif
+endif
 
 archclean:
 	$(Q)rm -rf $(objtree)/arch/i386
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-12-18 13:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-05  6:27 [PATCH v2] x86/build: fix compiler support check for CONFIG_RETPOLINE Masahiro Yamada
2018-12-05  6:59 ` Meelis Roos
2018-12-05  7:10 ` Zhenzhong Duan
2018-12-18 13:20   ` Gi-Oh Kim
2018-12-05  7:45 ` [tip:x86/urgent] x86/build: Fix " tip-bot for Masahiro Yamada
2018-12-05  7:48 ` tip-bot for Masahiro Yamada

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.