[4.19] include/linux/compiler*.h: define asm_volatile_goto

Message ID 20190531055633.123516-1-natechancellor@gmail.com
State New
Headers show
Series
  • [4.19] include/linux/compiler*.h: define asm_volatile_goto
Related show

Commit Message

Nathan Chancellor May 31, 2019, 5:56 a.m.
From: "ndesaulniers@google.com" <ndesaulniers@google.com>


commit 8bd66d147c88bd441178c7b4c774ae5a185f19b8 upstream.

asm_volatile_goto should also be defined for other compilers that support
asm goto.

Fixes commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h
mutually exclusive").

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

---

Hi Greg and Sasha,

Please pick up this patch for 4.19. It turns out that commit
13aceef06adf ("arm64: jump_label.h: use asm_volatile_goto macro instead
of "asm goto"") was backported without this, which causes a build
failure on arm64. This wasn't uncovered until now because clang didn't
support asm goto so this code wasn't being compiled. Thankfully, that
should change very soon :)

 include/linux/compiler_types.h | 4 ++++
 1 file changed, 4 insertions(+)

-- 
2.22.0.rc2

Comments

Greg Kroah-Hartman June 3, 2019, 7:58 a.m. | #1
On Thu, May 30, 2019 at 10:56:34PM -0700, Nathan Chancellor wrote:
> From: "ndesaulniers@google.com" <ndesaulniers@google.com>

> 

> commit 8bd66d147c88bd441178c7b4c774ae5a185f19b8 upstream.

> 

> asm_volatile_goto should also be defined for other compilers that support

> asm goto.

> 

> Fixes commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h

> mutually exclusive").

> 

> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

> ---

> 

> Hi Greg and Sasha,

> 

> Please pick up this patch for 4.19. It turns out that commit

> 13aceef06adf ("arm64: jump_label.h: use asm_volatile_goto macro instead

> of "asm goto"") was backported without this, which causes a build

> failure on arm64. This wasn't uncovered until now because clang didn't

> support asm goto so this code wasn't being compiled. Thankfully, that

> should change very soon :)


Now applied, thanks.

greg k-h

Patch

diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
index db192becfec4..c2ded31a4cec 100644
--- a/include/linux/compiler_types.h
+++ b/include/linux/compiler_types.h
@@ -151,6 +151,10 @@  struct ftrace_likely_data {
 #define __assume_aligned(a, ...)
 #endif
 
+#ifndef asm_volatile_goto
+#define asm_volatile_goto(x...) asm goto(x)
+#endif
+
 /* Are two types/vars the same type (ignoring qualifiers)? */
 #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))