Skip to content

libuv: Fix building with mingw toolchains for ARM/AArch64

Martin Storsjö requested to merge mstorsjo/cmake:libuv-mingw-arm into master

This is a backport of f9ad802fa5dd5afe6730f8e00cfdbf98f1d7a969 from the v1.x branch from upstream libuv:

mingw: fix building for ARM/AArch64

Don't use x86 inline assembly in these cases, but fall back to
__sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case.

This corresponds to what is done in src/unix/atomic-ops.h, where
ARM/AArch64 cases end up implementing cmpxchgi with
__sync_val_compare_and_swap.

PR-URL: https://github.com/libuv/libuv/pull/3236
Reviewed-By: Jameson Nash <vtjnash@gmail.com>

Backport: release

Edited by Brad King

Merge request reports