diff -Nru orig/wk/src/internal/fast_float/fast_float.h patched/wk/src/internal/fast_float/fast_float.h
--- orig/wk/src/internal/fast_float/fast_float.h	2021-12-21 01:36:19.000000000 +0100
+++ patched/wk/src/internal/fast_float/fast_float.h	2024-03-15 12:46:12.677385100 +0100
@@ -304,7 +304,7 @@
 fastfloat_really_inline value128 full_multiplication(uint64_t a,
                                                      uint64_t b) {
   value128 answer;
-#ifdef _M_ARM64
+#if defined(_M_ARM64) && defined(_MSC_VER)
   // ARM64 has native support for 64-bit multiplications, no need to emulate
   answer.high = __umulh(a, b);
   answer.low = a * b;
