projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Port: Add Solaris support to urcu/syscall-compat.h
[urcu.git]
/
urcu
/
uatomic
/
x86.h
diff --git
a/urcu/uatomic/x86.h
b/urcu/uatomic/x86.h
index ce1ce5e9b48b75f193d9c80f81977c2005888492..129a2f5670385880870912235a14a63a6d0ea99e 100644
(file)
--- a/
urcu/uatomic/x86.h
+++ b/
urcu/uatomic/x86.h
@@
-1,7
+1,7
@@
#ifndef _URCU_ARCH_UATOMIC_X86_H
#define _URCU_ARCH_UATOMIC_X86_H
#ifndef _URCU_ARCH_UATOMIC_X86_H
#define _URCU_ARCH_UATOMIC_X86_H
-/*
+/*
* Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
* Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
* Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
* Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
* Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
* Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
@@
-28,7
+28,7
@@
#ifdef __cplusplus
extern "C" {
#ifdef __cplusplus
extern "C" {
-#endif
+#endif
/*
* Derived from AO_compare_and_swap() and AO_test_and_set_full().
/*
* Derived from AO_compare_and_swap() and AO_test_and_set_full().
@@
-39,7
+39,7
@@
struct __uatomic_dummy {
};
#define __hp(x) ((struct __uatomic_dummy *)(x))
};
#define __hp(x) ((struct __uatomic_dummy *)(x))
-#define _uatomic_set(addr, v)
CMM_STORE_SHARED(*(addr), (v
))
+#define _uatomic_set(addr, v)
((void) CMM_STORE_SHARED(*(addr), (v)
))
/* cmpxchg */
/* cmpxchg */
@@
-529,12
+529,16
@@
extern int __rcu_cas_init(void);
: (compat_uatomic_##insn)) \
: (compat_uatomic_##insn))))
: (compat_uatomic_##insn)) \
: (compat_uatomic_##insn))))
+/*
+ * We leave the return value so we don't break the ABI, but remove the
+ * return value from the API.
+ */
extern unsigned long _compat_uatomic_set(void *addr,
unsigned long _new, int len);
#define compat_uatomic_set(addr, _new) \
extern unsigned long _compat_uatomic_set(void *addr,
unsigned long _new, int len);
#define compat_uatomic_set(addr, _new) \
- ((
__typeof__(*(addr))) _compat_uatomic_set((addr),
\
-
caa_cast_long_keep_sign(_new),
\
-
sizeof(*(addr))))
+ ((
void) _compat_uatomic_set((addr),
\
+
caa_cast_long_keep_sign(_new),
\
+ sizeof(*(addr))))
extern unsigned long _compat_uatomic_xchg(void *addr,
extern unsigned long _compat_uatomic_xchg(void *addr,
@@
-616,7
+620,7
@@
extern unsigned long _compat_uatomic_add_return(void *addr,
#define cmm_smp_mb__before_uatomic_dec() cmm_barrier()
#define cmm_smp_mb__after_uatomic_dec() cmm_barrier()
#define cmm_smp_mb__before_uatomic_dec() cmm_barrier()
#define cmm_smp_mb__after_uatomic_dec() cmm_barrier()
-#ifdef __cplusplus
+#ifdef __cplusplus
}
#endif
}
#endif
This page took
0.024575 seconds
and
4
git commands to generate.