Messages in this thread | | | Date | Fri, 11 Apr 2008 07:58:56 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH] reorganize <linux/linkage.h> |
| |
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
| |