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"