diff -u -r a/usr/include/urcu/uatomic/generic.h b/usr/include/urcu/uatomic/generic.h --- a/usr/include/urcu/uatomic/generic.h 2014-10-22 15:00:58.000000000 -0700 +++ b/usr/include/urcu/uatomic/generic.h 2020-10-30 21:38:28.550000000 -0700 @@ -69,10 +69,10 @@ #endif #ifdef UATOMIC_HAS_ATOMIC_SHORT case 2: - return __sync_val_compare_and_swap_2(addr, old, _new); + return __sync_val_compare_and_swap_2((uint16_t*) addr, old, _new); #endif case 4: - return __sync_val_compare_and_swap_4(addr, old, _new); + return __sync_val_compare_and_swap_4((uint32_t*) addr, old, _new); #if (CAA_BITS_PER_LONG == 64) case 8: return __sync_val_compare_and_swap_8(addr, old, _new); @@ -109,7 +109,7 @@ return; #endif case 4: - __sync_and_and_fetch_4(addr, val); + __sync_and_and_fetch_4((uint32_t*) addr, val); return; #if (CAA_BITS_PER_LONG == 64) case 8: @@ -148,7 +148,7 @@ return; #endif case 4: - __sync_or_and_fetch_4(addr, val); + __sync_or_and_fetch_4((uint32_t*) addr, val); return; #if (CAA_BITS_PER_LONG == 64) case 8: @@ -187,7 +187,7 @@ return __sync_add_and_fetch_2(addr, val); #endif case 4: - return __sync_add_and_fetch_4(addr, val); + return __sync_add_and_fetch_4((uint32_t*) addr, val); #if (CAA_BITS_PER_LONG == 64) case 8: return __sync_add_and_fetch_8(addr, val);