Hi Alexander, On Thu, Jun 4, 2020 at 3:50 PM Alexander Popov <alex.popov@xxxxxxxxx> wrote: > > diff --git a/include/linux/compiler_attributes.h b/include/linux/compiler_attributes.h > index cdf016596659..522d57ae8532 100644 > --- a/include/linux/compiler_attributes.h > +++ b/include/linux/compiler_attributes.h > @@ -41,6 +41,7 @@ > # define __GCC4_has_attribute___nonstring__ 0 > # define __GCC4_has_attribute___no_sanitize_address__ (__GNUC_MINOR__ >= 8) > # define __GCC4_has_attribute___fallthrough__ 0 > +# define __GCC4_has_attribute___no_caller_saved_registers__ 0 > #endif Nit: if you do another version, please move it before `noclone` to keep the order (`fallthrough` was added in the wrong place). Otherwise don't worry, I will sort it together with `fallthrough` when I send a patch. > +/* > + * Optional: only supported since gcc >= 7 > + * > + * gcc: https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html#index-no_005fcaller_005fsaved_005fregisters-function-attribute_002c-x86 > + * clang: https://clang.llvm.org/docs/AttributeReference.html#no-caller-saved-registers > + */ > +#if __has_attribute(__no_caller_saved_registers__) > +# define __no_caller_saved_registers __attribute__((__no_caller_saved_registers__)) > +#else > +# define __no_caller_saved_registers > +#endif Ditto. Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx> Cheers, Miguel