Re: [PATCH] Fix compile breakage caused by asmlinkage_protect

From: Linus Torvalds
Date: Fri Apr 11 2008 - 10:47:57 EST




On Fri, 11 Apr 2008, Heiko Carstens wrote:
>
> 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

Ok, that's just _odd_.

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

There are no side effects on asm code. It just adds a #define that
obviously won't be used.

Is the s390 assembler using some strange C pre-processor that is different
from the main C preprocessor and doesn't understand this pattern?

I really think you should fix *that*, because otherwise you'll hit these
kinds of bugs occasionally. There aren't that many asm files, it's not
worth it optimizing them to use some faster-but-stupider preprocessor.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/