[MIPS] Fix futex_atomic_op_inuser.
commita49fce1efec7345db6b9ffc7a351ff2abbde4c98
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Sun, 11 Jun 2006 14:25:43 +0000 (11 23:25 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 12 Jun 2006 21:36:03 +0000 (12 22:36 +0100)
tree9e1060619a00537dee48437c5f2b22ba8ea9cfa4
parent4ce76cacf08a7323114a2fe8bb2241f7ca4f3b97
[MIPS] Fix futex_atomic_op_inuser.

I found that NPTL's pthread_cond_signal() does not work properly on
kernels compiled by gcc 4.1.x.  I suppose inline asm for
__futex_atomic_op() was wrong.  I suppose:

1. "=&r" constraint should be used for oldval.
2. Instead of "r" (uaddr), "=R" (*uaddr) for output and "R" (*uaddr)
   for input should be used.
3. "memory" should be added to the clobber list.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
include/asm-mips/futex.h