Re: [PATCH] reorganize <linux/linkage.h>

From: Linus Torvalds
Date: Fri Apr 11 2008 - 11:00:40 EST



On Fri, 11 Apr 2008, Kyle McMartin wrote:
>
> Commit 54a015104136974262afa4b8ddd943ea70dec8a2 adds some new magic
> asmlinkage_protect gizmo, but that can only be used from C code, not
> assembly. Protect relevant bits of <linux/linkage.h> with !__ASSEMBLY__
> so this can't leak into assembly source.

Ok, so s390 had a similar issue, and I assumed that they were just usign a
broken C pre-processor for asm, but now I'm starting to wonder about it.

Why cannot your pre-processor handle that thing?

It doesn't matter if it is C or assembly, the pre-processor should be the
same. That #define isn't used for asm, so it shouldn't _matter_ for asm.
What's going on?

I'm starting to suspect that it's the fact that some architectures still
have

EXTRA_AFLAGS := -traditional

or equivalent and I'm wondering whether that is really necessary. IIRC x86
got rid of the use of --traditional a long time ago, exactly because it
caused problems with any fancier C preprocessor things.

It would probably be much better to try to lose that -traditional from
affected architectures, because otherwise issues like this will keep
popping up just because the most common architecture doesn't use the
limited 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/