From 567152ea54b5f76db543779ae0a148e543fb7587 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sat, 12 Aug 2000 09:29:03 +0000 Subject: * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Add .set mips2 for assembler. * sysdeps/mips/pt-machine.h (testandset): Add .set mips2 for assembler. (__compare_and_swap): Likewise. * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Likewise. --- linuxthreads/sysdeps/mips/pspinlock.c | 3 ++- linuxthreads/sysdeps/mips/pt-machine.h | 6 ++++-- sysdeps/unix/sysv/linux/mips/sys/tas.h | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/linuxthreads/sysdeps/mips/pspinlock.c b/linuxthreads/sysdeps/mips/pspinlock.c index 7df3040bda..caa82e38eb 100644 --- a/linuxthreads/sysdeps/mips/pspinlock.c +++ b/linuxthreads/sysdeps/mips/pspinlock.c @@ -32,7 +32,8 @@ __pthread_spin_lock (pthread_spinlock_t *lock) unsigned int tmp; asm volatile - ("\t\t\t# spin_lock\n\t" + (".set mips2\n\t" + "\t\t\t# spin_lock\n\t" "1:\n\t" "ll %1,%2\n\t" ".set push\n\t" diff --git a/linuxthreads/sysdeps/mips/pt-machine.h b/linuxthreads/sysdeps/mips/pt-machine.h index 16e264017d..7b4ef61857 100644 --- a/linuxthreads/sysdeps/mips/pt-machine.h +++ b/linuxthreads/sysdeps/mips/pt-machine.h @@ -41,7 +41,8 @@ testandset (int *spinlock) long int ret, temp; __asm__ __volatile__ - ("/* Inline spinlock test & set */\n\t" + (".set mips2\n\t" + "/* Inline spinlock test & set */\n\t" "1:\n\t" "ll %0,%3\n\t" ".set push\n\t" @@ -87,7 +88,8 @@ __compare_and_swap (long int *p, long int oldval, long int newval) long int ret; __asm__ __volatile__ - ("/* Inline compare & swap */\n\t" + (".set mips2\n\t" + "/* Inline compare & swap */\n\t" "1:\n\t" "ll %0,%4\n\t" ".set push\n" diff --git a/sysdeps/unix/sysv/linux/mips/sys/tas.h b/sysdeps/unix/sysv/linux/mips/sys/tas.h index b24aabb46a..bc7f52a206 100644 --- a/sysdeps/unix/sysv/linux/mips/sys/tas.h +++ b/sysdeps/unix/sysv/linux/mips/sys/tas.h @@ -42,7 +42,8 @@ _test_and_set (int *p, int v) __THROW int r, t; __asm__ __volatile__ - ("1:\n\t" + (".set\tmips2\n" + "1:\n\t" "ll %0,%3\n\t" ".set push\n\t" ".set noreorder\n\t" -- cgit 1.4.1