diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/sysdeps/sparc/sparc64/pt-machine.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h b/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h index 101b855..5560003 100644 --- a/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h +++ b/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h @@ -63,11 +63,11 @@ __compare_and_swap (long int *p, long int oldval, long int newval) { long int readval; - __asm__ __volatile__ ("cas [%4], %2, %0" + __asm__ __volatile__ ("casx [%4], %2, %0" : "=r"(readval), "=m"(*p) : "r"(oldval), "m"(*p), "r"(p), "0"(newval)); - return readval == newval; + return readval == oldval; } /* Access to data in the thread descriptor is easy. */ |