Fix "$(AS) -traditional" compile breakage caused by asmlinkage_protect
git commit 54a0151041
("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: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
099ce8f471
commit
b0fac02370
|
@ -30,9 +30,12 @@
|
|||
* protection to work (ie no more work that the compiler might
|
||||
* end up needing stack temporaries for).
|
||||
*/
|
||||
/* Assembly files may be compiled with -traditional .. */
|
||||
#ifndef __ASSEMBLY__
|
||||
#ifndef asmlinkage_protect
|
||||
# define asmlinkage_protect(n, ret, args...) do { } while (0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ALIGN
|
||||
#define __ALIGN .align 4,0x90
|
||||
|
|
Loading…
Reference in New Issue