about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-08-11 03:43:25 -0400
committerRich Felker <dalias@aerifal.cx>2013-08-11 03:43:25 -0400
commit7568ee4cbf317f8c21fb9b45e059db2a45c81488 (patch)
tree0ae133851605deddd67f9cac25f55e1ce9533061
parent90d77722511ad5e9b748f69f42c5b2a8467fa049 (diff)
downloadmusl-7568ee4cbf317f8c21fb9b45e059db2a45c81488.tar.gz
musl-7568ee4cbf317f8c21fb9b45e059db2a45c81488.tar.xz
musl-7568ee4cbf317f8c21fb9b45e059db2a45c81488.zip
add missing a_or_l to atomic.h for non-x86 archs
this is needed for recently committed sigaction code
-rw-r--r--arch/arm/atomic.h5
-rw-r--r--arch/microblaze/atomic.h5
-rw-r--r--arch/mips/atomic.h5
-rw-r--r--arch/powerpc/atomic.h5
4 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/atomic.h b/arch/arm/atomic.h
index f434a0c6..94efe5a0 100644
--- a/arch/arm/atomic.h
+++ b/arch/arm/atomic.h
@@ -97,6 +97,11 @@ static inline void a_or(volatile int *p, int v)
 	while (a_cas(p, old, old|v) != old);
 }
 
+static inline void a_or_l(volatile void *p, long v)
+{
+	a_or(p, v);
+}
+
 static inline void a_and_64(volatile uint64_t *p, uint64_t v)
 {
 	union { uint64_t v; uint32_t r[2]; } u = { v };
diff --git a/arch/microblaze/atomic.h b/arch/microblaze/atomic.h
index ee7aa256..818bcc0d 100644
--- a/arch/microblaze/atomic.h
+++ b/arch/microblaze/atomic.h
@@ -134,6 +134,11 @@ static inline void a_or(volatile int *p, int v)
 	while (a_cas(p, old, old|v) != old);
 }
 
+static inline void a_or_l(volatile void *p, long v)
+{
+	a_or(p, v);
+}
+
 static inline void a_and_64(volatile uint64_t *p, uint64_t v)
 {
 	union { uint64_t v; uint32_t r[2]; } u = { v };
diff --git a/arch/mips/atomic.h b/arch/mips/atomic.h
index f3478ef2..69dcdf48 100644
--- a/arch/mips/atomic.h
+++ b/arch/mips/atomic.h
@@ -182,6 +182,11 @@ static inline void a_or(volatile int *p, int v)
 		: "=&r"(dummy) : "r"(p), "r"(v) : "memory" );
 }
 
+static inline void a_or_l(volatile void *p, long v)
+{
+	a_or(p, v);
+}
+
 static inline void a_and_64(volatile uint64_t *p, uint64_t v)
 {
 	union { uint64_t v; uint32_t r[2]; } u = { v };
diff --git a/arch/powerpc/atomic.h b/arch/powerpc/atomic.h
index 4a47064a..d52ee0c6 100644
--- a/arch/powerpc/atomic.h
+++ b/arch/powerpc/atomic.h
@@ -100,6 +100,11 @@ static inline void a_or(volatile int *p, int v)
 	while (a_cas(p, old, old|v) != old);
 }
 
+static inline void a_or_l(volatile void *p, long v)
+{
+	a_or(p, v);
+}
+
 static inline void a_and_64(volatile uint64_t *p, uint64_t v)
 {
 	union { uint64_t v; uint32_t r[2]; } u = { v };