<div dir="ltr">When compiling <span style="color:rgb(0,0,0)">include/jemalloc/internal/atomic.h</span><div><span style="color:rgb(0,0,0)">for Android with clang/llvm compiler and arm64 or mips targets,</span></div><div><span style="color:rgb(0,0,0)">JEMALLOC_C11ATOMICS should be defined, but there</span></div><div><span style="color:rgb(0,0,0)">are type errors in the arguments to function</span></div><div><font color="#000000">atomic_compare_exchange_strong </font><span style="color:rgb(0,0,0)">and atomic_store.</span></div><div><font color="#000000"><br></font></div><div><font color="#000000">The following diff will fix the error:</font></div><div><font color="#000000"><br></font></div><div><pre style="color:rgb(0,0,0)">diff --git a/include/jemalloc/internal/atomic.h b/include/jemalloc/internal/atomic.h
index 522dd2a..a9aad35 100644
--- a/include/jemalloc/internal/atomic.h
+++ b/include/jemalloc/internal/atomic.h
@@ -143,15 +143,15 @@ atomic_sub_uint64(uint64_t *p, uint64_t x)
 JEMALLOC_INLINE bool
 atomic_cas_uint64(uint64_t *p, uint64_t c, uint64_t s)
 {
-
-       return (!atomic_compare_exchange_strong(p, &c, s));
+       volatile atomic_uint_least64_t *a = (volatile atomic_uint_least64_t *)p;
+       return (!atomic_compare_exchange_strong(a, &c, s));
 }
 
 JEMALLOC_INLINE void
 atomic_write_uint64(uint64_t *p, uint64_t x)
 {
-
-       atomic_store(p, x);
+       volatile atomic_uint_least64_t *a = (volatile atomic_uint_least64_t *)p;
+       atomic_store(a, x);
 }
 #  elif (defined(JEMALLOC_ATOMIC9))
 JEMALLOC_INLINE uint64_t
@@ -367,15 +367,15 @@ atomic_sub_uint32(uint32_t *p, uint32_t x)
 JEMALLOC_INLINE bool
 atomic_cas_uint32(uint32_t *p, uint32_t c, uint32_t s)
 {
-
-       return (!atomic_compare_exchange_strong(p, &c, s));
+       volatile atomic_uint_least32_t *a = (volatile atomic_uint_least32_t *)p;
+       return (!atomic_compare_exchange_strong(a, &c, s));
 }
 
 JEMALLOC_INLINE void
 atomic_write_uint32(uint32_t *p, uint32_t x)
 {
-
-       atomic_store(p, x);
+       volatile atomic_uint_least32_t *a = (volatile atomic_uint_least32_t *)p;
+       atomic_store(a, x);
 }
 #elif (defined(JEMALLOC_ATOMIC9))
 JEMALLOC_INLINE uint32_t</pre><pre style="color:rgb(0,0,0)"><br></pre></div><div><font color="#000000"><br></font></div><div>For people with access to Android Open Source, a patch is available at</div><div><a href="https://android-review.googlesource.com/#/c/151171">https://android-review.googlesource.com/#/c/151171</a><br></div><div><br></div></div>