From: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: David Lin <dtwlin@google.com>,
Steven Rostedt <rostedt@goodmis.org>,
"Anton V. Boyarshinov" <boyarsh@altlinux.org>,
"Dmitry V. Levin" <ldv@altlinux.org>,
Michal Marek <mmarek@suse.com>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH] jump label: fix passing kbuild_cflags when checking for asm goto support
Date: Fri, 10 Mar 2017 19:24:18 +0300 [thread overview]
Message-ID: <20170310162411.GA18175@glebfm.cloud.tilaa.com> (raw)
The latest change of asm goto support check added passing of
KBUILD_CFLAGS to compiler. When these flags reference gcc plugins,
there is a race condition between the build of these plugins and their
use in this asm goto support check.
This change moves the check before all these references are added
to KBUILD_CFLAGS. This is correct because subsequent KBUILD_CFLAGS
modifications are not relevant to this check.
Reported-by: Anton V. Boyarshinov <boyarsh@altlinux.org>
Fixes: 35f860f9ba6a ("jump label: pass kbuild_cflags when checking for asm goto support")
Cc: stable@vger.kernel.org # v4.10
Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
Makefile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 165cf97..7e3aade 100644
--- a/Makefile
+++ b/Makefile
@@ -653,6 +653,12 @@ KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \
# Tell gcc to never replace conditional load with a non-conditional one
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
+# check for 'asm goto'
+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
+ KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
+ KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
+endif
+
include scripts/Makefile.gcc-plugins
ifdef CONFIG_READABLE_ASM
@@ -798,12 +804,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
# use the deterministic mode of AR if available
KBUILD_ARFLAGS := $(call ar-option,D)
-# check for 'asm goto'
-ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
- KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
- KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
-endif
-
include scripts/Makefile.kasan
include scripts/Makefile.extrawarn
include scripts/Makefile.ubsan
--
glebfm
next reply other threads:[~2017-03-10 16:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-10 16:24 Gleb Fotengauer-Malinovskiy [this message]
2017-03-10 17:04 ` [PATCH] jump label: fix passing kbuild_cflags when checking for asm goto support Steven Rostedt
2017-03-10 17:39 ` Gleb Fotengauer-Malinovskiy
2017-03-10 17:42 ` Steven Rostedt
2017-03-10 17:55 ` [PATCH v2] " Gleb Fotengauer-Malinovskiy
2017-03-10 18:04 ` Steven Rostedt
2017-03-10 18:30 ` David Lin
2017-03-20 17:15 ` [PING PATCH " Gleb Fotengauer-Malinovskiy
2017-03-21 17:48 ` Masahiro Yamada
2017-03-21 18:04 ` Steven Rostedt
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=20170310162411.GA18175@glebfm.cloud.tilaa.com \
--to=glebfm@altlinux.org \
--cc=boyarsh@altlinux.org \
--cc=dtwlin@google.com \
--cc=ldv@altlinux.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmarek@suse.com \
--cc=rostedt@goodmis.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox