If you just include <sys/atomic.h>, uint32_t isn't defined.  There is
no real reason for this code to use uint32_t.  For our ILP32/LP64
ecosystem, unsigned long is the appropriate integer type.

ok?


Index: arch/arm/include/atomic.h
===================================================================
RCS file: /cvs/src/sys/arch/arm/include/atomic.h,v
retrieving revision 1.17
diff -u -p -r1.17 atomic.h
--- arch/arm/include/atomic.h   12 May 2017 08:53:46 -0000      1.17
+++ arch/arm/include/atomic.h   31 Jul 2017 09:27:14 -0000
@@ -45,7 +45,7 @@ static inline void *
 _atomic_cas_ptr(volatile void *p, void *e, void *n)
 {
        void *ret;
-       uint32_t modified;
+       unsigned long modified;
 
        __asm volatile (
            "1: ldrex %0, [%4]          \n\t"
@@ -99,7 +99,7 @@ static inline void *
 _atomic_swap_ptr(volatile void *p, void *v)
 {
        void *ret;
-       uint32_t modified;
+       unsigned long modified;
 
        __asm volatile (
            "1: ldrex %0, [%3]          \n\t"

Reply via email to