I built cross gas for arm linux with binutils-2.16.92. The configure is below. binutils-2.16.92/configure --target=arm-iwmmxt-linux-gnueabi --host=i686- host_pc-linux-gnu --prefix=/usr/local/arm-iwmmxt-linux-gnueabi --disable-nls -- with-sysroot=/usr/local/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi % cat t.s .text .align 4 .macro test label BNE \label.aaa B \label \label.aaa: \label: .endm test a test b % arm-iwmmxt-linux-gnueabi-as t.s t.s: Assembler messages: t.s: Assembler messages: t.s:11: Error: bad expression -- `bne \label.aaa' t.s:11: Error: junk at end of line, first unrecognized character is `\' t.s:12: Error: bad expression -- `bne \label.aaa' t.s:12: Error: junk at end of line, first unrecognized character is `\'
Not a bug. Use alternate macro syntax if you want to paste formals with strings. .text .align 4 .macro test label BNE &label&.aaa B &label& &label&.aaa: nop &label&: nop .endm test a test b