Commit b0fac02370cffad956ff3de5e8ed4df7e7b875d7
Committed by
Linus Torvalds
1 parent
099ce8f471
Exists in
master
and in
4 other branches
Fix "$(AS) -traditional" compile breakage caused by asmlinkage_protect
git commit 54a015104136974262afa4b8ddd943ea70dec8a2 ("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>
Showing 1 changed file with 3 additions and 0 deletions Side-by-side Diff
include/linux/linkage.h
... | ... | @@ -30,8 +30,11 @@ |
30 | 30 | * protection to work (ie no more work that the compiler might |
31 | 31 | * end up needing stack temporaries for). |
32 | 32 | */ |
33 | +/* Assembly files may be compiled with -traditional .. */ | |
34 | +#ifndef __ASSEMBLY__ | |
33 | 35 | #ifndef asmlinkage_protect |
34 | 36 | # define asmlinkage_protect(n, ret, args...) do { } while (0) |
37 | +#endif | |
35 | 38 | #endif |
36 | 39 | |
37 | 40 | #ifndef __ALIGN |