musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2016年03月11日 00:02:10 -0500
committerRich Felker <dalias@aerifal.cx>2016年03月11日 00:02:10 -0500
commit27bf42cd9d85e242f1ffac8d99330da120c8dfdb (patch)
tree97836980a45452977ac57788dc16b5470819c31a
parent636a4799dd5bf11a1fcd209906c088ed948b821c (diff)
downloadmusl-27bf42cd9d85e242f1ffac8d99330da120c8dfdb.tar.gz
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.
Diffstat
-rw-r--r--arch/mips64/atomic_arch.h 2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips64/atomic_arch.h b/arch/mips64/atomic_arch.h
index 49d9884a..8664e11c 100644
--- a/arch/mips64/atomic_arch.h
+++ b/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");
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月22日 08:28:05 +0000

AltStyle によって変換されたページ (->オリジナル) /