diff options
-rw-r--r-- | linuxthreads/sysdeps/mips/pspinlock.c | 3 | ||||
-rw-r--r-- | linuxthreads/sysdeps/mips/pt-machine.h | 6 | ||||
-rw-r--r-- | 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" |