update workarounds for gcc "asm goto" issue
[linux-block.git] / include / linux / compiler_types.h
index 6f1ca49306d2f7e7b51817fc579b82a85246736d..0caf354cb94b5ad9d802addff81a1bd1c3250139 100644 (file)
@@ -362,8 +362,15 @@ struct ftrace_likely_data {
 #define __member_size(p)       __builtin_object_size(p, 1)
 #endif
 
-#ifndef asm_volatile_goto
-#define asm_volatile_goto(x...) asm goto(x)
+/*
+ * Some versions of gcc do not mark 'asm goto' volatile:
+ *
+ *  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103979
+ *
+ * We do it here by hand, because it doesn't hurt.
+ */
+#ifndef asm_goto_output
+#define asm_goto_output(x...) asm volatile goto(x)
 #endif
 
 #ifdef CONFIG_CC_HAS_ASM_INLINE