fcami / rpms / mono

Forked from rpms/mono 3 years ago
Clone
Paul F. Johnson e9de6c8
--- mono-131222-orig/libgc/include/private/gc_locks.h	2009-02-03 19:00:12.000000000 -0500
Paul F. Johnson e9de6c8
+++ mono-131222-patched/libgc/include/private/gc_locks.h	2009-04-09 15:20:11.000000000 -0400
Paul F. Johnson e9de6c8
@@ -160,15 +160,15 @@
Paul F. Johnson e9de6c8
           int temp = 1; /* locked value */
Paul F. Johnson e9de6c8
 
Paul F. Johnson e9de6c8
           __asm__ __volatile__(
Paul F. Johnson e9de6c8
-               "1:\tlwarx %0,0,%3\n"   /* load and reserve               */
Paul F. Johnson e9de6c8
+               "1:\tlwarx %0,0,%1\n"   /* load and reserve               */
Paul F. Johnson e9de6c8
                "\tcmpwi %0, 0\n"       /* if load is                     */
Paul F. Johnson e9de6c8
                "\tbne 2f\n"            /*   non-zero, return already set */
Paul F. Johnson e9de6c8
                "\tstwcx. %2,0,%1\n"    /* else store conditional         */
Paul F. Johnson e9de6c8
                "\tbne- 1b\n"           /* retry if lost reservation      */
Paul F. Johnson e9de6c8
                "\tsync\n"              /* import barrier                 */
Paul F. Johnson e9de6c8
                "2:\t\n"                /* oldval is zero if we set       */
Paul F. Johnson e9de6c8
-              : "=&r"(oldval), "=p"(addr)
Paul F. Johnson e9de6c8
-              : "r"(temp), "1"(addr)
Paul F. Johnson e9de6c8
+              : "=&r"(oldval)
Paul F. Johnson e9de6c8
+              : "r"(addr), "r"(temp)
Paul F. Johnson e9de6c8
               : "cr0","memory");
Paul F. Johnson e9de6c8
           return oldval;
Paul F. Johnson e9de6c8
         }