40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
|
diff -upr dapl-2.1.10.orig/dapl/udapl/linux/dapl_osd.h dapl-2.1.10/dapl/udapl/linux/dapl_osd.h
|
||
|
--- dapl/udapl/linux/dapl_osd.h 2018-05-24 13:31:37.000000000 +0200
|
||
|
+++ dapl/udapl/linux/dapl_osd.h 2018-05-24 14:03:08.040508060 +0200
|
||
|
@@ -51,7 +51,7 @@
|
||
|
|
||
|
#if !defined (__i386__) && !defined (__ia64__) && !defined(__x86_64__) && \
|
||
|
!defined(__PPC__) && !defined(__PPC64__) && !defined(__s390x__) && \
|
||
|
- !defined(__aarch64__) && !defined(__s390__)
|
||
|
+ !defined(__aarch64__) && !defined(__arm__) && !defined(__s390__)
|
||
|
#error UNDEFINED ARCH
|
||
|
#endif
|
||
|
|
||
|
@@ -215,7 +215,7 @@ dapl_os_atomic_inc (
|
||
|
: "=&r" (tmp), "+m" (v)
|
||
|
: "b" (v)
|
||
|
: "cc");
|
||
|
-#elif defined(__aarch64__)
|
||
|
+#elif defined(__aarch64__) || defined(__arm__)
|
||
|
__atomic_fetch_add(v, 1, __ATOMIC_ACQ_REL);
|
||
|
#else /* !__ia64__ */
|
||
|
__asm__ __volatile__ (
|
||
|
@@ -261,7 +261,7 @@ dapl_os_atomic_dec (
|
||
|
: "=&r" (tmp), "+m" (v)
|
||
|
: "b" (v)
|
||
|
: "cc");
|
||
|
-#elif defined(__aarch64__)
|
||
|
+#elif defined(__aarch64__) || defined(__arm__)
|
||
|
__atomic_fetch_add(v, -1, __ATOMIC_ACQ_REL);
|
||
|
#else /* !__ia64__ */
|
||
|
__asm__ __volatile__ (
|
||
|
@@ -327,7 +327,7 @@ dapl_os_atomic_assign (
|
||
|
: "=&r" (current_value), "=m" (*v)
|
||
|
: "r" (v), "r" (match_value), "r" (new_value), "m" (*v)
|
||
|
: "cc", "memory");
|
||
|
-#elif defined(__aarch64__)
|
||
|
+#elif defined(__aarch64__) || defined(__arm__)
|
||
|
current_value = match_value;
|
||
|
__atomic_compare_exchange_n(v, ¤t_value, new_value, 1,
|
||
|
__ATOMIC_ACQ_REL, __ATOMIC_RELAXED);
|