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

From: Nick Desaulniers
Date: Fri Sep 10 2021 - 15:29:59 EST


On Thu, Sep 9, 2021 at 6:33 PM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> Today's linux-next merge of the kspp tree got conflicts in:
>
> include/linux/compiler-gcc.h
> include/linux/compiler_types.h
>
> between commit:
>
> b83a908498d6 ("compiler_attributes.h: move __compiletime_{error|warning}")
>
> from the compiler-attributes tree and commit:
>
> 122b05c65c5d ("compiler_types.h: Remove __compiletime_object_size()")
>
> from the kspp tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Thanks Stephen,
Kees, Miguel just sent the patch from his tree to Linus in a PR:
https://lore.kernel.org/lkml/20210910191734.GA8688@xxxxxxxxxx/T/#u

>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc include/linux/compiler-gcc.h
> index 21c36b69eb06,01985821944b..000000000000
> --- a/include/linux/compiler-gcc.h
> +++ b/include/linux/compiler-gcc.h
> @@@ -41,8 -41,9 +41,6 @@@
>
> #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
>
> - #define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
> -#define __compiletime_warning(message) __attribute__((__warning__(message)))
> -#define __compiletime_error(message) __attribute__((__error__(message)))
> --
> #if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__)
> #define __latent_entropy __attribute__((latent_entropy))
> #endif
> diff --cc include/linux/compiler_types.h
> index b6ff83a714ca,c43308b0a9a9..000000000000
> --- a/include/linux/compiler_types.h
> +++ b/include/linux/compiler_types.h
> @@@ -290,11 -290,13 +290,6 @@@ struct ftrace_likely_data
> (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
> sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
>
> - /* Compile time object size, -1 for unknown */
> - #ifndef __compiletime_object_size
> - # define __compiletime_object_size(obj) -1
> -#ifndef __compiletime_warning
> -# define __compiletime_warning(message)
> -#endif
> -#ifndef __compiletime_error
> -# define __compiletime_error(message)
> --#endif
> --
> #ifdef __OPTIMIZE__
> # define __compiletime_assert(condition, msg, prefix, suffix) \
> do { \



--
Thanks,
~Nick Desaulniers