summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/arm
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rtld-elf/arm')
-rw-r--r--libexec/rtld-elf/arm/rtld_machdep.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libexec/rtld-elf/arm/rtld_machdep.h b/libexec/rtld-elf/arm/rtld_machdep.h
index 8e841e0..cc1410c 100644
--- a/libexec/rtld-elf/arm/rtld_machdep.h
+++ b/libexec/rtld-elf/arm/rtld_machdep.h
@@ -70,4 +70,15 @@ typedef struct {
void _rtld_bind_start(void);
extern void *__tls_get_addr(tls_index *ti);
+
+static __inline u_int32_t
+atomic_cmpset_32(volatile u_int32_t *p, u_int32_t cmpval, u_int32_t newval)
+{
+
+ if (*p == cmpval) {
+ *p = newval;
+ return (1);
+ }
+ return (0);
+}
#endif
OpenPOWER on IntegriCloud