linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Compiler Attributes (naked only, for v4.19)
@ 2018-09-13 23:59 Miguel Ojeda
  2018-09-13 23:59 ` [PATCH 1/2] Compiler Attributes: naked was fixed in gcc 4.6 Miguel Ojeda
  2018-09-13 23:59 ` [PATCH 2/2] Compiler Attributes: naked can be shared Miguel Ojeda
  0 siblings, 2 replies; 8+ messages in thread
From: Miguel Ojeda @ 2018-09-13 23:59 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, Miguel Ojeda

These two patches are the 5th and 6th of the Compiler Attributes series,
which Stefan and Nick requested to go into v4.19 so that the clang ARM32
build is fixed. The v5 of Compiler Attributes will have these two removed
if this goes in.

Miguel Ojeda (2):
  Compiler Attributes: naked was fixed in gcc 4.6
  Compiler Attributes: naked can be shared

 include/linux/compiler-gcc.h   | 14 --------------
 include/linux/compiler_types.h |  8 ++++++++
 2 files changed, 8 insertions(+), 14 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] Compiler Attributes: naked was fixed in gcc 4.6
  2018-09-13 23:59 [PATCH 0/2] Compiler Attributes (naked only, for v4.19) Miguel Ojeda
@ 2018-09-13 23:59 ` Miguel Ojeda
  2018-09-18  3:12   ` Stefan Agner
  2018-09-13 23:59 ` [PATCH 2/2] Compiler Attributes: naked can be shared Miguel Ojeda
  1 sibling, 1 reply; 8+ messages in thread
From: Miguel Ojeda @ 2018-09-13 23:59 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Miguel Ojeda, Stefan Agner, Rasmus Villemoes,
	Eli Friedman, Christopher Li, Kees Cook, Ingo Molnar,
	Geert Uytterhoeven, Arnd Bergmann, Greg Kroah-Hartman,
	Masahiro Yamada, Joe Perches, Dominique Martinet, linux-sparse

Commit 9c695203a7dd ("compiler-gcc.h: gcc-4.5 needs noclone
and noinline on __naked functions") added noinline and noclone
as a workaround for a gcc 4.5 bug, which was resolved in 4.6.0.

Since now the minimum gcc supported version is 4.6,
we can clean it up.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44290
and https://godbolt.org/z/h6NMIL

Cc: Stefan Agner <stefan@agner.ch>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Eli Friedman <efriedma@codeaurora.org>
Cc: Christopher Li <sparse@chrisli.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Joe Perches <joe@perches.com>
Cc: Dominique Martinet <asmadeus@codewreck.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-sparse@vger.kernel.org
Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
---
 include/linux/compiler-gcc.h | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 763bbad1e258..25d3dd6b2702 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -84,14 +84,8 @@
  * to trace naked functions because then mcount is called without
  * stack and frame pointer being set up and there is no chance to
  * restore the lr register to the value before mcount was called.
- *
- * The asm() bodies of naked functions often depend on standard calling
- * conventions, therefore they must be noinline and noclone.
- *
- * GCC 4.[56] currently fail to enforce this, so we must do so ourselves.
- * See GCC PR44290.
  */
-#define __naked		__attribute__((naked)) noinline __noclone notrace
+#define __naked		__attribute__((naked)) notrace
 
 #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] Compiler Attributes: naked can be shared
  2018-09-13 23:59 [PATCH 0/2] Compiler Attributes (naked only, for v4.19) Miguel Ojeda
  2018-09-13 23:59 ` [PATCH 1/2] Compiler Attributes: naked was fixed in gcc 4.6 Miguel Ojeda
@ 2018-09-13 23:59 ` Miguel Ojeda
  2018-09-18  3:19   ` Stefan Agner
  1 sibling, 1 reply; 8+ messages in thread
From: Miguel Ojeda @ 2018-09-13 23:59 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Miguel Ojeda, Stefan Agner, Rasmus Villemoes,
	Eli Friedman, Christopher Li, Kees Cook, Ingo Molnar,
	Geert Uytterhoeven, Greg Kroah-Hartman, Masahiro Yamada,
	Joe Perches, Dominique Martinet, linux-sparse

The naked attribute is supported by at least gcc >= 4.6 (for ARM,
which is the only current user), gcc >= 8 (for x86), clang >= 3.1
and icc >= 13. See https://godbolt.org/z/350Dyc

Therefore, move it out of compiler-gcc.h so that the definition
is shared by all compilers.

This also fixes Clang support for ARM32 --- 815f0ddb346c
("include/linux/compiler*.h: make compiler-*.h mutually exclusive").

Cc: Stefan Agner <stefan@agner.ch>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Eli Friedman <efriedma@codeaurora.org>
Cc: Christopher Li <sparse@chrisli.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Joe Perches <joe@perches.com>
Cc: Dominique Martinet <asmadeus@codewreck.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-sparse@vger.kernel.org
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
---
 include/linux/compiler-gcc.h   | 8 --------
 include/linux/compiler_types.h | 8 ++++++++
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 25d3dd6b2702..4d36b27214fd 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -79,14 +79,6 @@
 #define __noretpoline __attribute__((indirect_branch("keep")))
 #endif
 
-/*
- * it doesn't make sense on ARM (currently the only user of __naked)
- * to trace naked functions because then mcount is called without
- * stack and frame pointer being set up and there is no chance to
- * restore the lr register to the value before mcount was called.
- */
-#define __naked		__attribute__((naked)) notrace
-
 #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
 
 #define __optimize(level)	__attribute__((__optimize__(level)))
diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
index 3525c179698c..db192becfec4 100644
--- a/include/linux/compiler_types.h
+++ b/include/linux/compiler_types.h
@@ -226,6 +226,14 @@ struct ftrace_likely_data {
 #define notrace			__attribute__((no_instrument_function))
 #endif
 
+/*
+ * it doesn't make sense on ARM (currently the only user of __naked)
+ * to trace naked functions because then mcount is called without
+ * stack and frame pointer being set up and there is no chance to
+ * restore the lr register to the value before mcount was called.
+ */
+#define __naked			__attribute__((naked)) notrace
+
 #define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)
 
 /*
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] Compiler Attributes: naked was fixed in gcc 4.6
  2018-09-13 23:59 ` [PATCH 1/2] Compiler Attributes: naked was fixed in gcc 4.6 Miguel Ojeda
@ 2018-09-18  3:12   ` Stefan Agner
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Agner @ 2018-09-18  3:12 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Linus Torvalds, linux-kernel, Rasmus Villemoes, Eli Friedman,
	Christopher Li, Kees Cook, Ingo Molnar, Geert Uytterhoeven,
	Arnd Bergmann, Greg Kroah-Hartman, Masahiro Yamada, Joe Perches,
	Dominique Martinet, linux-sparse

On 13.09.2018 16:59, Miguel Ojeda wrote:
> Commit 9c695203a7dd ("compiler-gcc.h: gcc-4.5 needs noclone
> and noinline on __naked functions") added noinline and noclone
> as a workaround for a gcc 4.5 bug, which was resolved in 4.6.0.
> 
> Since now the minimum gcc supported version is 4.6,
> we can clean it up.
> 
> See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44290
> and https://godbolt.org/z/h6NMIL
> 
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> Cc: Eli Friedman <efriedma@codeaurora.org>
> Cc: Christopher Li <sparse@chrisli.org>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Dominique Martinet <asmadeus@codewreck.org>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: linux-sparse@vger.kernel.org
> Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

Reviewed-by: Stefan Agner <stefan@agner.ch>

--
Stefan

> ---
>  include/linux/compiler-gcc.h | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
> index 763bbad1e258..25d3dd6b2702 100644
> --- a/include/linux/compiler-gcc.h
> +++ b/include/linux/compiler-gcc.h
> @@ -84,14 +84,8 @@
>   * to trace naked functions because then mcount is called without
>   * stack and frame pointer being set up and there is no chance to
>   * restore the lr register to the value before mcount was called.
> - *
> - * The asm() bodies of naked functions often depend on standard calling
> - * conventions, therefore they must be noinline and noclone.
> - *
> - * GCC 4.[56] currently fail to enforce this, so we must do so ourselves.
> - * See GCC PR44290.
>   */
> -#define __naked		__attribute__((naked)) noinline __noclone notrace
> +#define __naked		__attribute__((naked)) notrace
>  
>  #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] Compiler Attributes: naked can be shared
  2018-09-13 23:59 ` [PATCH 2/2] Compiler Attributes: naked can be shared Miguel Ojeda
@ 2018-09-18  3:19   ` Stefan Agner
  2018-09-18  7:30     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Agner @ 2018-09-18  3:19 UTC (permalink / raw)
  To: Miguel Ojeda, arnd, Greg Kroah-Hartman
  Cc: Linus Torvalds, linux-kernel, Rasmus Villemoes, Eli Friedman,
	Christopher Li, Kees Cook, Ingo Molnar, Geert Uytterhoeven,
	Masahiro Yamada, Joe Perches, Dominique Martinet, linux-sparse

On 13.09.2018 16:59, Miguel Ojeda wrote:
> The naked attribute is supported by at least gcc >= 4.6 (for ARM,
> which is the only current user), gcc >= 8 (for x86), clang >= 3.1
> and icc >= 13. See https://godbolt.org/z/350Dyc
> 
> Therefore, move it out of compiler-gcc.h so that the definition
> is shared by all compilers.
> 
> This also fixes Clang support for ARM32 --- 815f0ddb346c
> ("include/linux/compiler*.h: make compiler-*.h mutually exclusive").
> 
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> Cc: Eli Friedman <efriedma@codeaurora.org>
> Cc: Christopher Li <sparse@chrisli.org>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Dominique Martinet <asmadeus@codewreck.org>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: linux-sparse@vger.kernel.org
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

Reviewed-by: Stefan Agner <stefan@agner.ch>

Ideally this two patches should go into v4.19. Not sure which path the patch should take, MAINTAINERS is not quite clear about that. This fixes 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive") for ARM32, which has been merged directly by
Linus, afaict...

--
Stefan

> ---
>  include/linux/compiler-gcc.h   | 8 --------
>  include/linux/compiler_types.h | 8 ++++++++
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
> index 25d3dd6b2702..4d36b27214fd 100644
> --- a/include/linux/compiler-gcc.h
> +++ b/include/linux/compiler-gcc.h
> @@ -79,14 +79,6 @@
>  #define __noretpoline __attribute__((indirect_branch("keep")))
>  #endif
>  
> -/*
> - * it doesn't make sense on ARM (currently the only user of __naked)
> - * to trace naked functions because then mcount is called without
> - * stack and frame pointer being set up and there is no chance to
> - * restore the lr register to the value before mcount was called.
> - */
> -#define __naked		__attribute__((naked)) notrace
> -
>  #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
>  
>  #define __optimize(level)	__attribute__((__optimize__(level)))
> diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> index 3525c179698c..db192becfec4 100644
> --- a/include/linux/compiler_types.h
> +++ b/include/linux/compiler_types.h
> @@ -226,6 +226,14 @@ struct ftrace_likely_data {
>  #define notrace			__attribute__((no_instrument_function))
>  #endif
>  
> +/*
> + * it doesn't make sense on ARM (currently the only user of __naked)
> + * to trace naked functions because then mcount is called without
> + * stack and frame pointer being set up and there is no chance to
> + * restore the lr register to the value before mcount was called.
> + */
> +#define __naked			__attribute__((naked)) notrace
> +
>  #define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)
>  
>  /*

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] Compiler Attributes: naked can be shared
  2018-09-18  3:19   ` Stefan Agner
@ 2018-09-18  7:30     ` Greg Kroah-Hartman
  2018-09-18 16:06       ` Miguel Ojeda
  0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2018-09-18  7:30 UTC (permalink / raw)
  To: Stefan Agner
  Cc: Miguel Ojeda, arnd, Linus Torvalds, linux-kernel,
	Rasmus Villemoes, Eli Friedman, Christopher Li, Kees Cook,
	Ingo Molnar, Geert Uytterhoeven, Masahiro Yamada, Joe Perches,
	Dominique Martinet, linux-sparse

On Mon, Sep 17, 2018 at 08:19:50PM -0700, Stefan Agner wrote:
> On 13.09.2018 16:59, Miguel Ojeda wrote:
> > The naked attribute is supported by at least gcc >= 4.6 (for ARM,
> > which is the only current user), gcc >= 8 (for x86), clang >= 3.1
> > and icc >= 13. See https://godbolt.org/z/350Dyc
> > 
> > Therefore, move it out of compiler-gcc.h so that the definition
> > is shared by all compilers.
> > 
> > This also fixes Clang support for ARM32 --- 815f0ddb346c
> > ("include/linux/compiler*.h: make compiler-*.h mutually exclusive").
> > 
> > Cc: Stefan Agner <stefan@agner.ch>
> > Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> > Cc: Eli Friedman <efriedma@codeaurora.org>
> > Cc: Christopher Li <sparse@chrisli.org>
> > Cc: Kees Cook <keescook@chromium.org>
> > Cc: Ingo Molnar <mingo@kernel.org>
> > Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> > Cc: Joe Perches <joe@perches.com>
> > Cc: Dominique Martinet <asmadeus@codewreck.org>
> > Cc: Linus Torvalds <torvalds@linux-foundation.org>
> > Cc: linux-sparse@vger.kernel.org
> > Suggested-by: Arnd Bergmann <arnd@arndb.de>
> > Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
> > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
> > Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
> 
> Reviewed-by: Stefan Agner <stefan@agner.ch>
> 
> Ideally this two patches should go into v4.19. Not sure which path the patch should take, MAINTAINERS is not quite clear about that. This fixes 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive") for ARM32, which has been merged directly by
> Linus, afaict...

Good point, can you resend these to me with all of the acks added so
far?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] Compiler Attributes: naked can be shared
  2018-09-18  7:30     ` Greg Kroah-Hartman
@ 2018-09-18 16:06       ` Miguel Ojeda
  2018-09-18 16:17         ` Stefan Agner
  0 siblings, 1 reply; 8+ messages in thread
From: Miguel Ojeda @ 2018-09-18 16:06 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Stefan Agner, Arnd Bergmann, Linus Torvalds, linux-kernel,
	Rasmus Villemoes, Eli Friedman, Christopher Li, Kees Cook,
	Ingo Molnar, Geert Uytterhoeven, Masahiro Yamada, Joe Perches,
	Dominique Martinet, linux-sparse

On Tue, Sep 18, 2018 at 9:30 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Mon, Sep 17, 2018 at 08:19:50PM -0700, Stefan Agner wrote:
>> On 13.09.2018 16:59, Miguel Ojeda wrote:
>> > The naked attribute is supported by at least gcc >= 4.6 (for ARM,
>> > which is the only current user), gcc >= 8 (for x86), clang >= 3.1
>> > and icc >= 13. See https://godbolt.org/z/350Dyc
>> >
>> > Therefore, move it out of compiler-gcc.h so that the definition
>> > is shared by all compilers.
>> >
>> > This also fixes Clang support for ARM32 --- 815f0ddb346c
>> > ("include/linux/compiler*.h: make compiler-*.h mutually exclusive").
>> >
>> > Cc: Stefan Agner <stefan@agner.ch>
>> > Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>> > Cc: Eli Friedman <efriedma@codeaurora.org>
>> > Cc: Christopher Li <sparse@chrisli.org>
>> > Cc: Kees Cook <keescook@chromium.org>
>> > Cc: Ingo Molnar <mingo@kernel.org>
>> > Cc: Geert Uytterhoeven <geert@linux-m68k.org>
>> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
>> > Cc: Joe Perches <joe@perches.com>
>> > Cc: Dominique Martinet <asmadeus@codewreck.org>
>> > Cc: Linus Torvalds <torvalds@linux-foundation.org>
>> > Cc: linux-sparse@vger.kernel.org
>> > Suggested-by: Arnd Bergmann <arnd@arndb.de>
>> > Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
>> > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
>> > Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
>>
>> Reviewed-by: Stefan Agner <stefan@agner.ch>
>>
>> Ideally this two patches should go into v4.19. Not sure which path the patch should take, MAINTAINERS is not quite clear about that. This fixes 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive") for ARM32, which has been merged directly by
>> Linus, afaict...
>
> Good point, can you resend these to me with all of the acks added so
> far?

Sure (I think only Stefan is the added ack, though).

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] Compiler Attributes: naked can be shared
  2018-09-18 16:06       ` Miguel Ojeda
@ 2018-09-18 16:17         ` Stefan Agner
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Agner @ 2018-09-18 16:17 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Greg Kroah-Hartman, Arnd Bergmann, Linus Torvalds, linux-kernel,
	Rasmus Villemoes, Eli Friedman, Christopher Li, Kees Cook,
	Ingo Molnar, Geert Uytterhoeven, Masahiro Yamada, Joe Perches,
	Dominique Martinet, linux-sparse

On 18.09.2018 09:06, Miguel Ojeda wrote:
> On Tue, Sep 18, 2018 at 9:30 AM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
>> On Mon, Sep 17, 2018 at 08:19:50PM -0700, Stefan Agner wrote:
>>> On 13.09.2018 16:59, Miguel Ojeda wrote:
>>> > The naked attribute is supported by at least gcc >= 4.6 (for ARM,
>>> > which is the only current user), gcc >= 8 (for x86), clang >= 3.1
>>> > and icc >= 13. See https://godbolt.org/z/350Dyc
>>> >
>>> > Therefore, move it out of compiler-gcc.h so that the definition
>>> > is shared by all compilers.
>>> >
>>> > This also fixes Clang support for ARM32 --- 815f0ddb346c
>>> > ("include/linux/compiler*.h: make compiler-*.h mutually exclusive").
>>> >
>>> > Cc: Stefan Agner <stefan@agner.ch>
>>> > Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>>> > Cc: Eli Friedman <efriedma@codeaurora.org>
>>> > Cc: Christopher Li <sparse@chrisli.org>
>>> > Cc: Kees Cook <keescook@chromium.org>
>>> > Cc: Ingo Molnar <mingo@kernel.org>
>>> > Cc: Geert Uytterhoeven <geert@linux-m68k.org>
>>> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> > Cc: Joe Perches <joe@perches.com>
>>> > Cc: Dominique Martinet <asmadeus@codewreck.org>
>>> > Cc: Linus Torvalds <torvalds@linux-foundation.org>
>>> > Cc: linux-sparse@vger.kernel.org
>>> > Suggested-by: Arnd Bergmann <arnd@arndb.de>
>>> > Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
>>> > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
>>> > Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
>>>
>>> Reviewed-by: Stefan Agner <stefan@agner.ch>
>>>
>>> Ideally this two patches should go into v4.19. Not sure which path the patch should take, MAINTAINERS is not quite clear about that. This fixes 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive") for ARM32, which has been merged directly by
>>> Linus, afaict...
>>
>> Good point, can you resend these to me with all of the acks added so
>> far?
> 
> Sure (I think only Stefan is the added ack, though).
> 

Thanks Miguel.

You can also add my Tested-by: Stefan Agner <stefan@agner.ch> to the two patches.

--
Stefan

> Cheers,
> Miguel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-09-18 16:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-13 23:59 [PATCH 0/2] Compiler Attributes (naked only, for v4.19) Miguel Ojeda
2018-09-13 23:59 ` [PATCH 1/2] Compiler Attributes: naked was fixed in gcc 4.6 Miguel Ojeda
2018-09-18  3:12   ` Stefan Agner
2018-09-13 23:59 ` [PATCH 2/2] Compiler Attributes: naked can be shared Miguel Ojeda
2018-09-18  3:19   ` Stefan Agner
2018-09-18  7:30     ` Greg Kroah-Hartman
2018-09-18 16:06       ` Miguel Ojeda
2018-09-18 16:17         ` Stefan Agner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).