Re: linux-next: build failure after merge of the origin tree

From: Marco Elver
Date: Tue Sep 07 2021 - 19:17:21 EST


On Wed, 8 Sept 2021 at 01:09, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Hi all,
>
> On Wed, 8 Sep 2021 09:07:20 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Building Linus' tree, today's linux-next build (mips
> > allmodconfig) failed like this:
> >
> > In file included from /kisskb/src/include/linux/compiler_types.h:65:0,
> > from <command-line>:0:
> > include/linux/compiler_attributes.h:29:29: error: "__GCC4_has_attribute___no_sanitize_coverage__" is not defined [-Werror=undef]
> > # define __has_attribute(x) __GCC4_has_attribute_##x
> > ^
> > include/linux/compiler-gcc.h:125:29: note: in expansion of macro '__has_attribute'
> > #if defined(CONFIG_KCOV) && __has_attribute(__no_sanitize_coverage__)
> > ^
> > cc1: all warnings being treated as errors
> >
> > Caused by commit
> >
> > 540540d06e9d ("kcov: add __no_sanitize_coverage to fix noinstr for all architectures")
> >
> > This ia a gcc 4.9 build, so presumably this?
> >
> > diff -ru a/include/linux/compiler_attributes.h b/include/linux/compiler_attributes.h
> > --- a/include/linux/compiler_attributes.h 2021-09-08 09:03:35.169225661 +1000
> > +++ b/include/linux/compiler_attributes.h 2021-09-08 09:05:47.790907780 +1000
> > @@ -36,6 +36,7 @@
> > # define __GCC4_has_attribute___no_profile_instrument_function__ 0
> > # define __GCC4_has_attribute___nonstring__ 0
> > # define __GCC4_has_attribute___no_sanitize_address__ 1
> > +# define __GCC4_has_attribute___no_sanitize_coverage__ 0
> > # define __GCC4_has_attribute___no_sanitize_undefined__ 1
> > # define __GCC4_has_attribute___fallthrough__ 0
> > #endif
>
> Just to be clear, I haven't tested the above in any way.

I see this in next-20210907: "Compiler Attributes: fix
__has_attribute(__no_sanitize_coverage__) for GCC 4"
Which does the same fix.

Not sure what happened to it.

I would have also expected this to be merged as a fix into mainline by
now? Miguel?

Thanks,
-- Marco