If we enable building libcoreclrtraceptprovider.so by setting FEATURE_EVENT_TRACE to 1 (dotnet/coreclr#8421 (comment)), the build fail with these error messages
/nfs/rbp3/coreclr/cross/rootfs/arm/usr/include/urcu/uatomic/generic.h:75:10: error: address argument to atomic builtin must be a pointer to integer or pointer ('void *' invalid)
return __sync_val_compare_and_swap_4(addr, old, _new);
^ ~~~~
/nfs/rbp3/coreclr/cross/rootfs/arm/usr/include/urcu/uatomic/generic.h:112:3: error: address argument to atomic builtin must be a pointer to integer or pointer ('void *' invalid)
__sync_and_and_fetch_4(addr, val);
^ ~~~~
/nfs/rbp3/coreclr/cross/rootfs/arm/usr/include/urcu/uatomic/generic.h:151:3: error: address argument to atomic builtin must be a pointer to integer or pointer ('void *' invalid)
__sync_or_and_fetch_4(addr, val);
^ ~~~~
/nfs/rbp3/coreclr/cross/rootfs/arm/usr/include/urcu/uatomic/generic.h:190:10: error: address argument to atomic builtin must be a pointer to integer or pointer ('void *' invalid)
return __sync_add_and_fetch_4(addr, val);
^ ~~~~
We can reproduce this error message by using clang version >= 3.6 and ubuntu 14.04. In other words, we can avoid this fail by using clang < 3.5 or upper version of ubuntu 14.04. (ex. 16.04). But our default build environment for ARM32/Linux is clang-3.6 and ubuntu 14.04.
If we enable building
libcoreclrtraceptprovider.soby settingFEATURE_EVENT_TRACEto 1 (dotnet/coreclr#8421 (comment)), the build fail with these error messagesWe can reproduce this error message by using clang version >= 3.6 and ubuntu 14.04. In other words, we can avoid this fail by using clang < 3.5 or upper version of ubuntu 14.04. (ex. 16.04). But our default build environment for ARM32/Linux is clang-3.6 and ubuntu 14.04.