From d983d8756d4cfbe55c19b3b16b59d4bcc926bca5 Mon Sep 17 00:00:00 2001 From: cognet Date: Tue, 23 Nov 2004 16:32:34 +0000 Subject: Implement a dummy atomic_cmpset_32(). It should be safe to use it in rtld as the signals are masked anyway. --- libexec/rtld-elf/arm/rtld_machdep.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libexec/rtld-elf/arm') 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 -- cgit v1.1