Re: linux-next: manual merge of the compiler-attributes tree with the kbuild tree

From: Miguel Ojeda
Date: Tue Oct 30 2018 - 07:22:08 EST


On Tue, Oct 30, 2018 at 12:49 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> On Tue, 30 Oct 2018 10:46:37 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Today's linux-next merge of the compiler-attributes tree got a conflict
> > in:
> >
> > include/linux/compiler-gcc.h
> >
> > between commit:
> >
> > 94c7dfd01652 ("kernel hacking: support building kernel with -Og optimization level")
> >
> > from the kbuild tree and commits:
> >
> > 5c67a52f3da0 ("Compiler Attributes: always use the extra-underscores syntax")
> > 989bd5000f36 ("Compiler Attributes: remove unneeded sparse (__CHECKER__) tests")
> >
> > from the compiler-attributes tree.
> >
> > I fixed it up (the latter just removed the __CHECKER__ check, so I did
> > that) and can carry the fix as necessary. This is now fixed as far as
>
> On reflection, that may not have been the correct resolution ...

>From a quick look, it seems we want:

#ifndef CONFIG_CC_OPTIMIZE_FOR_DEBUGGING
#define __compiletime_warning(message) __attribute__((__warning__(message)))
#define __compiletime_error(message) __attribute__((__error__(message)))
#endif

i.e. kbuild tree added the CONFIG_CC_OPTIMIZE_FOR_DEBUGGING guard,
while the compiler-attributes tree removed the __CHECKER__ one, so we
still need the former.

By the way, I think 94c7dfd01652 is wrong: it changes the guard also
for __latent_entropy (and it does not change the corresponding comment
at "#endif /* __CHECKER__ */").

Also, the commit message does not mention __compiletime_warning --
should that one be guarded too by CONFIG_CC_OPTIMIZE_FOR_DEBUGGING?

Cheers,
Miguel