Browse Source

make mips64 a_sc_p atomic primitive's asm constraints work with clang

apparently clang does not accept matching-register input and output
constraints that differ in size (32-bit vs 64-bit).

based on patch by Jaydeep Patil.
Rich Felker 9 years ago
parent
commit
27bf42cd9d
1 changed files with 1 additions and 1 deletions
  1. 1 1
      arch/mips64/atomic_arch.h

+ 1 - 1
arch/mips64/atomic_arch.h

@@ -31,7 +31,7 @@ static inline void *a_ll_p(volatile long *p)
 #define a_sc_p a_sc_p
 static inline int a_sc_p(volatile long *p, void *v)
 {
-	int r;
+	long r;
 	__asm__ __volatile__ (
 		"scd %0, %1"
 		: "=r"(r), "=m"(*p) : "0"(v) : "memory");