diff options
author | Rich Felker <dalias@aerifal.cx> | 2013-08-11 03:43:25 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2013-08-11 03:43:25 -0400 |
commit | 7568ee4cbf317f8c21fb9b45e059db2a45c81488 (patch) | |
tree | 0ae133851605deddd67f9cac25f55e1ce9533061 | |
parent | 90d77722511ad5e9b748f69f42c5b2a8467fa049 (diff) | |
download | musl-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.h | 5 | ||||
-rw-r--r-- | arch/microblaze/atomic.h | 5 | ||||
-rw-r--r-- | arch/mips/atomic.h | 5 | ||||
-rw-r--r-- | arch/powerpc/atomic.h | 5 |
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 }; |