* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Add .set
authoraj <aj>
Sat, 12 Aug 2000 09:29:02 +0000 (09:29 +0000)
committeraj <aj>
Sat, 12 Aug 2000 09:29:02 +0000 (09:29 +0000)
        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
linuxthreads/sysdeps/mips/pt-machine.h
sysdeps/unix/sysv/linux/mips/sys/tas.h

index 7df3040..caa82e3 100644 (file)
@@ -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"
index 16e2640..7b4ef61 100644 (file)
@@ -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"
index b24aabb..bc7f52a 100644 (file)
@@ -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"