On Tue, Jun 01, 2021 at 12:07:31PM +0300, Adrian Hunter wrote:
__sync_xxx_compare_and_swap is out-of-date now. This page:
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins
recommends '__atomic' builtins instead.
perf doesn't seem to use that.
Since atomics are needed only for the "compat" case (i.e. 32-bit perf with 64-bit kernel)
you could try to find an elegant way to check for a 64-bit kernel, and avoid the atomics
for a 32-bit perf with 32-bit kernel.
Most 32bit archs cannot do 64bit atomics. I suppose the only reason this
doesn't explode is because the aux stuff isn't supported on many
architectures?