[MIPS] Fix futex_atomic_op_inuser.
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Sun, 11 Jun 2006 14:25:43 +0000 (23:25 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 19 Jun 2006 16:39:17 +0000 (17:39 +0100)
commit0307e8d024dffc00743fb54b9afa920a346f1adb
tree3e6ea1c677105501fc9efb57105cb23cec4e8f2d
parente1701fb2e2f3c02760684e26007e3379be23b690
[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