>>>>> On Wed, 22 Jun 2005 14:30:41 +0100 (BST), "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx> said: macro> But I think there is one possiblity of a problem -- obsolete macro> versions of GCC may rely on gas expanding "ll" and "sc" as macro> macros, i.e. substitute a name of a symbol rather than a valid macro> machine-level address expression (e.g. "0($reg)" or macro> "%lo(sym)($reg)") for memory constraints. Well, by using "m" macro> right now we sort of permit it to. Yes, this is my case. A line in net/key/af_key.c:pfkey_create() atomic_inc(&pfkey_socks_nr); was translated to: .set mips2 1: ll $3, pfkey_socks_nr # atomic_add addu $3, 1 sc $3, pfkey_socks_nr beqz $3, 1b .set mips0 Then gas expands the 'll' to LUI and LL (no high 32bit). I'm using gcc 3.4.4 and binutils 2.16.1. Not so brand new but not so obsolete (I hope :-)) --- Atsushi Nemoto