Makefile: disallow data races on gcc-10 as well
diff mbox series

Message ID 20200317000718.177637-1-slyfox@gentoo.org
State New
Headers show
Series
  • Makefile: disallow data races on gcc-10 as well
Related show

Commit Message

Sergei Trofimovich March 17, 2020, 12:07 a.m. UTC
gcc-10 will rename --param=allow-store-data-races=0
to -fno-allow-store-data-races.

The flag change happened at https://gcc.gnu.org/PR92046.

CC: Jiri Kosina <jkosina@suse.cz>
CC: Masahiro Yamada <masahiroy@kernel.org>
CC: Michal Marek <michal.lkml@markovi.net>
CC: linux-kbuild@vger.kernel.org
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Jiri Kosina March 17, 2020, 12:57 a.m. UTC | #1
On Tue, 17 Mar 2020, Sergei Trofimovich wrote:

> gcc-10 will rename --param=allow-store-data-races=0
> to -fno-allow-store-data-races.
> 
> The flag change happened at https://gcc.gnu.org/PR92046.
> 
> CC: Jiri Kosina <jkosina@suse.cz>
> CC: Masahiro Yamada <masahiroy@kernel.org>
> CC: Michal Marek <michal.lkml@markovi.net>
> CC: linux-kbuild@vger.kernel.org
> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
> ---
>  Makefile | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Makefile b/Makefile
> index 171f2b004c8a..9696eb2cd5a1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -714,6 +714,7 @@ endif
>  
>  # Tell gcc to never replace conditional load with a non-conditional one
>  KBUILD_CFLAGS	+= $(call cc-option,--param=allow-store-data-races=0)
> +KBUILD_CFLAGS	+= $(call cc-option,-fno-allow-store-data-races)

I have to say I can't really read gcc sources without major cerebral pain, 
so let me me dense here: what happens to gcc<10 if you pass 
-fno-allow-store-data-races to it?

My expectation would be that it would just blow up in fatal error, meaning 
that after we apply your patch, kernel couldn't be successfully compiled 
by any compiler that doesn't understand '-fno-allow-store-data-races' 
(which is just about any compiler on this planet).

Thanks,
Jiri Kosina March 17, 2020, 1:41 a.m. UTC | #2
On Tue, 17 Mar 2020, Jiri Kosina wrote:

> > The flag change happened at https://gcc.gnu.org/PR92046.
> > 
> > CC: Jiri Kosina <jkosina@suse.cz>
> > CC: Masahiro Yamada <masahiroy@kernel.org>
> > CC: Michal Marek <michal.lkml@markovi.net>
> > CC: linux-kbuild@vger.kernel.org
> > Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
> > ---
> >  Makefile | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/Makefile b/Makefile
> > index 171f2b004c8a..9696eb2cd5a1 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -714,6 +714,7 @@ endif
> >  
> >  # Tell gcc to never replace conditional load with a non-conditional one
> >  KBUILD_CFLAGS	+= $(call cc-option,--param=allow-store-data-races=0)
> > +KBUILD_CFLAGS	+= $(call cc-option,-fno-allow-store-data-races)
> 
> I have to say I can't really read gcc sources without major cerebral pain, 
> so let me me dense here: what happens to gcc<10 if you pass 
> -fno-allow-store-data-races to it?

Sorry, brainfart on my side, your patch is good :)

	Acked-by: Jiri Kosina <jkosina@suse.cz>

Thanks,
Masahiro Yamada March 19, 2020, 3:34 p.m. UTC | #3
On Tue, Mar 17, 2020 at 10:41 AM Jiri Kosina <jikos@kernel.org> wrote:
>
> On Tue, 17 Mar 2020, Jiri Kosina wrote:
>
> > > The flag change happened at https://gcc.gnu.org/PR92046.
> > >
> > > CC: Jiri Kosina <jkosina@suse.cz>
> > > CC: Masahiro Yamada <masahiroy@kernel.org>
> > > CC: Michal Marek <michal.lkml@markovi.net>
> > > CC: linux-kbuild@vger.kernel.org
> > > Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
> > > ---
> > >  Makefile | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/Makefile b/Makefile
> > > index 171f2b004c8a..9696eb2cd5a1 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -714,6 +714,7 @@ endif
> > >
> > >  # Tell gcc to never replace conditional load with a non-conditional one
> > >  KBUILD_CFLAGS      += $(call cc-option,--param=allow-store-data-races=0)
> > > +KBUILD_CFLAGS      += $(call cc-option,-fno-allow-store-data-races)
> >
> > I have to say I can't really read gcc sources without major cerebral pain,
> > so let me me dense here: what happens to gcc<10 if you pass
> > -fno-allow-store-data-races to it?
>
> Sorry, brainfart on my side, your patch is good :)
>
>         Acked-by: Jiri Kosina <jkosina@suse.cz>
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>

Applied to linux-kbuild with Jiri's Ack.

Thanks.

Patch
diff mbox series

diff --git a/Makefile b/Makefile
index 171f2b004c8a..9696eb2cd5a1 100644
--- a/Makefile
+++ b/Makefile
@@ -714,6 +714,7 @@  endif
 
 # Tell gcc to never replace conditional load with a non-conditional one
 KBUILD_CFLAGS	+= $(call cc-option,--param=allow-store-data-races=0)
+KBUILD_CFLAGS	+= $(call cc-option,-fno-allow-store-data-races)
 
 include scripts/Makefile.kcov
 include scripts/Makefile.gcc-plugins