Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=38135614ddef4de16d5cdf03c2717e88b97dd2ab
Commit:     38135614ddef4de16d5cdf03c2717e88b97dd2ab
Parent:     fabb626ad6a3744b9f0eaae215a2418d521c1e14
Author:     Al Viro <[EMAIL PROTECTED]>
AuthorDate: Sat Feb 10 01:43:41 2007 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sun Feb 11 10:51:20 2007 -0800

    [PATCH] m68k: work around binutils tokenizer change
    
    Recent as(1) doesn't think that .  terminates a macro name, so getuser.l is
    _not_ treated as invoking getuser with .l as the first argument.
    arch/m68k/math-emu relies on old behaviour, so it gets a lot of undefined
    macros with more or less current binutils.
    
    Note that this behaviour remains in all recent versions and is unrelated to
    another binutils problems we used to have for a while (having (%a0)+ parsed
    as two arguments).  This one is there to stay; it's an intentional and
    documented change.
    
    .irp <identifier> <words>
    [text]
    .endr
    expands to a copy of text per each word, with \<identifier> replaced with
    corresponding word.  Again, what happens depends on whether gas_ident.x
    is treated as one or as two tokens; in the former case we'll get old_gas
    incremented once, in the latter - twice.  The rest is obvious.
    
    Unlike .macro argument list _anything_ is explicitly allowed after
    .irp <identifier>; here we are on very safe ground.  And yes, it does
    work with all gas variants I've got here (including vanilla 2.15, 2.16,
    2.16.1 and 2.17, plus debian and FC binutils).
    
    Signed-off-by: Al Viro <[EMAIL PROTECTED]>
    Cc: Roman Zippel <[EMAIL PROTECTED]>
    Cc: Geert Uytterhoeven <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 include/asm-m68k/math-emu.h |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/include/asm-m68k/math-emu.h b/include/asm-m68k/math-emu.h
index 7ac6259..ddfab96 100644
--- a/include/asm-m68k/math-emu.h
+++ b/include/asm-m68k/math-emu.h
@@ -226,6 +226,21 @@ extern unsigned int fp_debugprint;
        .previous
 .endm
 
+/* work around binutils idiocy */
+old_gas=-1
+.irp    gas_ident.x .x
+old_gas=old_gas+1
+.endr
+.if !old_gas
+.irp   m b,w,l
+.macro getuser.\m src,dest,label,addr
+       getuser .\m,\src,\dest,\label,\addr
+.endm
+.macro putuser.\m src,dest,label,addr
+       putuser .\m,\src,\dest,\label,\addr
+.endm
+.endr
+.endif
 
 .macro movestack       nr,arg1,arg2,arg3,arg4,arg5
        .if     \nr
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to