summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Houchard <cognet@FreeBSD.org>2004-11-23 16:32:34 +0000
committerOlivier Houchard <cognet@FreeBSD.org>2004-11-23 16:32:34 +0000
commit25a252899e3ac7756af2e3ba57d645c1b016733c (patch)
tree06ab6114d6886de4c6eb5ae1e6aa366d6336197e
parenta27952c1a947f39c538997ad0b04d9a20a732d78 (diff)
Notes
-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 8e841e0e319f..cc1410cd4fab 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