From: Zhenzhong Duan <zhenzhong.duan@oracle.com>
To: Masahiro Yamada <yamada.masahiro@socionext.com>,
Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
x86@kernel.org
Cc: Meelis Roos <mroos@linux.ee>, "H. Peter Anvin" <hpa@zytor.com>,
Borislav Petkov <bp@alien8.de>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] x86/build: fix compiler support check for CONFIG_RETPOLINE
Date: Wed, 5 Dec 2018 15:10:49 +0800 [thread overview]
Message-ID: <34aa8fad-ee7f-6833-41a2-00a92b4ad369@oracle.com> (raw)
In-Reply-To: <1543991239-18476-1-git-send-email-yamada.masahiro@socionext.com>
On 2018/12/5 14:27, Masahiro Yamada wrote:
> 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
Acked-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
--
Regards
Zhenzhong
next prev parent reply other threads:[~2018-12-05 7:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=34aa8fad-ee7f-6833-41a2-00a92b4ad369@oracle.com \
--to=zhenzhong.duan@oracle.com \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=mroos@linux.ee \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.