diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-04-11 07:46:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-11 11:29:13 -0400 |
commit | b0fac02370cffad956ff3de5e8ed4df7e7b875d7 (patch) | |
tree | f7db1d196a065398bfa3376a15ced67cda3f6a8c | |
parent | 099ce8f4712dcff975ed7619f831b4df95aac773 (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.h | 3 |
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 |