openmpi/openmpi-changeset_r22324.patch

51 lines
2.2 KiB
Diff

Index: /trunk/opal/include/opal/sys/amd64/atomic.h
===================================================================
--- /trunk/opal/include/opal/sys/amd64/atomic.h (revision 21180)
+++ /trunk/opal/include/opal/sys/amd64/atomic.h (revision 22324)
@@ -85,9 +85,9 @@
unsigned char ret;
__asm__ __volatile__ (
- SMPLOCK "cmpxchgl %1,%2 \n\t"
+ SMPLOCK "cmpxchgl %3,%4 \n\t"
"sete %0 \n\t"
- : "=qm" (ret)
- : "q"(newval), "m"(*addr), "a"(oldval)
- : "memory");
+ : "=qm" (ret), "=a" (oldval), "=m" (*addr)
+ : "q"(newval), "m"(*addr), "1"(oldval)
+ );
return (int)ret;
@@ -106,9 +106,9 @@
unsigned char ret;
__asm__ __volatile__ (
- SMPLOCK "cmpxchgq %1,%2 \n\t"
+ SMPLOCK "cmpxchgq %3,%4 \n\t"
"sete %0 \n\t"
- : "=qm" (ret)
- : "q"(newval), "m"(*((volatile long*)addr)), "a"(oldval)
- : "memory");
+ : "=qm" (ret), "=a" (oldval), "=m" (*((volatile long*)addr))
+ : "q"(newval), "m"(*((volatile long*)addr)), "1"(oldval)
+ );
return (int)ret;
Index: /trunk/opal/include/opal/sys/ia32/atomic.h
===================================================================
--- /trunk/opal/include/opal/sys/ia32/atomic.h (revision 21180)
+++ /trunk/opal/include/opal/sys/ia32/atomic.h (revision 22324)
@@ -92,9 +92,9 @@
unsigned char ret;
__asm__ __volatile__ (
- SMPLOCK "cmpxchgl %1,%2 \n\t"
+ SMPLOCK "cmpxchgl %3,%4 \n\t"
"sete %0 \n\t"
- : "=qm" (ret)
- : "q"(newval), "m"(*((volatile long*)addr)), "a"(oldval)
- : "memory");
+ : "=qm" (ret), "=a" (oldval), "=m" (*addr)
+ : "q"(newval), "m"(*((volatile long*)addr)), "1"(oldval)
+ );
return (int)ret;