diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | linuxthreads/ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/sys/tas.h | 6 |
3 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index fd57cdf432..a2703de353 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-12-05 Andreas Jaeger <aj@suse.de> + * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't + set mips2. + * sysdeps/unix/sysv/linux/mips/sysdep.h: New file. * sysdeps/unix/sysv/linux/mips/sys/syscall.h: Removed. diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 215ceff586..43d0c6c010 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2000-12-05 Andreas Jaeger <aj@suse.de> + + * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Don't set mips2. + * sysdeps/mips/pt-machine.h (testandset): Likewise. + (__compare_and_swap): Likewise. + Patches by "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>. + 2000-11-20 Jakub Jelinek <jakub@redhat.com> * Examples/ex3.c (main): Cast int to long before casting to void *. diff --git a/sysdeps/unix/sysv/linux/mips/sys/tas.h b/sysdeps/unix/sysv/linux/mips/sys/tas.h index 8409535943..757b8bc1ea 100644 --- a/sysdeps/unix/sysv/linux/mips/sys/tas.h +++ b/sysdeps/unix/sysv/linux/mips/sys/tas.h @@ -42,8 +42,7 @@ _test_and_set (int *p, int v) __THROW int r, t; __asm__ __volatile__ - (".set\tmips2\n" - "1:\n\t" + ("1:\n\t" "ll %0,%3\n\t" ".set push\n\t" ".set noreorder\n\t" @@ -52,8 +51,7 @@ _test_and_set (int *p, int v) __THROW ".set pop\n\t" "sc %1,%2\n\t" "beqz %1,1b\n" - "2:\n\t" - ".set\tmips0" + "2:\n" : "=&r" (r), "=&r" (t), "=m" (*p) : "m" (*p), "r" (v) : "memory"); |