Commit b0fac023 authored by Heiko Carstens's avatar Heiko Carstens Committed by Linus Torvalds

Fix "$(AS) -traditional" compile breakage caused by asmlinkage_protect

git commit 54a01510 ("asmlinkage_protect
replaces prevent_tail_call") causes this build failure on s390:

    AS      arch/s390/kernel/entry64.o
  In file included from arch/s390/kernel/entry64.S:14:
  include/linux/linkage.h:34: error: syntax error in macro parameter list
  make[1]: *** [arch/s390/kernel/entry64.o] Error 1
  make: *** [arch/s390/kernel] Error 2

and some other architectures.  The reason is that some architectures add
the "-traditional" flag to the invocation of $(AS), which disables
variadic macro argument support.

So just surround the new define with an #ifndef __ASSEMBLY__ to prevent
any side effects on asm code.

Cc: Roland McGrath <roland@redhat.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 099ce8f4
...@@ -30,9 +30,12 @@ ...@@ -30,9 +30,12 @@
* protection to work (ie no more work that the compiler might * protection to work (ie no more work that the compiler might
* end up needing stack temporaries for). * end up needing stack temporaries for).
*/ */
/* Assembly files may be compiled with -traditional .. */
#ifndef __ASSEMBLY__
#ifndef asmlinkage_protect #ifndef asmlinkage_protect
# define asmlinkage_protect(n, ret, args...) do { } while (0) # define asmlinkage_protect(n, ret, args...) do { } while (0)
#endif #endif
#endif
#ifndef __ALIGN #ifndef __ALIGN
#define __ALIGN .align 4,0x90 #define __ALIGN .align 4,0x90
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment