From 2e3b99764abe1575810b544af05c31cf71edab63 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 5 Dec 2000 18:00:04 +0000 Subject: [PATCH] Update. * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't set mips2. --- ChangeLog | 3 +++ linuxthreads/ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/mips/sys/tas.h | 6 ++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index fd57cdf..a2703de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-12-05 Andreas Jaeger + * 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 215ceff..43d0c6c 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2000-12-05 Andreas Jaeger + + * 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" . + 2000-11-20 Jakub Jelinek * 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 8409535..757b8bc 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"); -- 2.7.4