aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2002-02-08 16:14:43 +0000
committerAndreas Jaeger <aj@suse.de>2002-02-08 16:14:43 +0000
commit1a70fdb307c10bd2295fe579475843aaf83afd45 (patch)
tree34c0417278207822360b1495057beaf3c60bcf8b
parent96beb56332008b0c89ad104b601474a078942894 (diff)
downloadglibc-1a70fdb307c10bd2295fe579475843aaf83afd45.zip
glibc-1a70fdb307c10bd2295fe579475843aaf83afd45.tar.gz
glibc-1a70fdb307c10bd2295fe579475843aaf83afd45.tar.bz2
* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the
gcc warning. (__pthread_spin_lock): Remove ".set noreorder". * sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise. 2002-02-07 H.J. Lu <hjl@gnu.org> * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the gcc warning. (__pthread_spin_lock): Remove ".set noreorder". * sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise.
-rw-r--r--linuxthreads/ChangeLog7
-rw-r--r--linuxthreads/sysdeps/mips/pspinlock.c7
-rw-r--r--linuxthreads/sysdeps/mips/pt-machine.h5
3 files changed, 10 insertions, 9 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index d7af2dc..391a4b2 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,10 @@
+2002-02-07 H.J. Lu <hjl@gnu.org>
+
+ * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the
+ gcc warning.
+ (__pthread_spin_lock): Remove ".set noreorder".
+ * sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise.
+
2002-02-05 H.J. Lu <hjl@gnu.org>
* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Not use
diff --git a/linuxthreads/sysdeps/mips/pspinlock.c b/linuxthreads/sysdeps/mips/pspinlock.c
index 3a4f586..1aa372b 100644
--- a/linuxthreads/sysdeps/mips/pspinlock.c
+++ b/linuxthreads/sysdeps/mips/pspinlock.c
@@ -35,11 +35,8 @@ __pthread_spin_lock (pthread_spinlock_t *lock)
("\t\t\t# spin_lock\n"
"1:\n\t"
"ll %1,%3\n\t"
- ".set push\n\t"
- ".set noreorder\n\t"
+ "li %2,1\n\t"
"bnez %1,1b\n\t"
- " li %2,1\n\t"
- ".set pop\n\t"
"sc %2,%0\n\t"
"beqz %2,1b"
: "=m" (*lock), "=&r" (tmp1), "=&r" (tmp2)
@@ -54,7 +51,7 @@ __pthread_spin_lock (pthread_spinlock_t *lock)
int
__pthread_spin_lock (pthread_spinlock_t *lock)
{
- while (_test_and_set (lock, 1));
+ while (_test_and_set ((int *) lock, 1));
return 0;
}
diff --git a/linuxthreads/sysdeps/mips/pt-machine.h b/linuxthreads/sysdeps/mips/pt-machine.h
index 506cc3f..78bd682 100644
--- a/linuxthreads/sysdeps/mips/pt-machine.h
+++ b/linuxthreads/sysdeps/mips/pt-machine.h
@@ -60,11 +60,8 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
("/* Inline compare & swap */\n"
"1:\n\t"
"ll %1,%5\n\t"
- ".set push\n\t"
- ".set noreorder\n\t"
+ "move %0,$0\n\t"
"bne %1,%3,2f\n\t"
- " move %0,$0\n\t"
- ".set pop\n\t"
"move %0,%4\n\t"
"sc %0,%2\n\t"
"beqz %0,1b\n"