aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-04-11 07:46:54 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-11 11:29:13 -0400
commitb0fac02370cffad956ff3de5e8ed4df7e7b875d7 (patch)
treef7db1d196a065398bfa3376a15ced67cda3f6a8c
parent099ce8f4712dcff975ed7619f831b4df95aac773 (diff)
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>
-rw-r--r--include/linux/linkage.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index b163c5c40dbc..2119610b24f8 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -30,9 +30,12 @@
30 * protection to work (ie no more work that the compiler might 30 * protection to work (ie no more work that the compiler might
31 * end up needing stack temporaries for). 31 * end up needing stack temporaries for).
32 */ 32 */
33/* Assembly files may be compiled with -traditional .. */
34#ifndef __ASSEMBLY__
33#ifndef asmlinkage_protect 35#ifndef asmlinkage_protect
34# define asmlinkage_protect(n, ret, args...) do { } while (0) 36# define asmlinkage_protect(n, ret, args...) do { } while (0)
35#endif 37#endif
38#endif
36 39
37#ifndef __ALIGN 40#ifndef __ALIGN
38#define __ALIGN .align 4,0x90 41#define __ALIGN .align 4,0x90