From 6030731ccb4c58af6545f047e662b1040e8e3d6d Mon Sep 17 00:00:00 2001 From: Andrei Porumb Date: Fri, 6 Feb 2026 04:50:46 -0800 Subject: [PATCH 1/2] use latest submodules and fix umul --- deps/c-build-tools | 2 +- deps/c-logging | 2 +- deps/c-testrunnerswitcher | 2 +- deps/ctest | 2 +- deps/macro-utils-c | 2 +- deps/mimalloc | 2 +- deps/umock-c | 2 +- deps/vcpkg | 2 +- win32/src/arithmetic_win32.c | 12 ++++++++++-- 9 files changed, 18 insertions(+), 10 deletions(-) diff --git a/deps/c-build-tools b/deps/c-build-tools index d5208095..7c8ebc23 160000 --- a/deps/c-build-tools +++ b/deps/c-build-tools @@ -1 +1 @@ -Subproject commit d52080959169786517eb81d52866579470b55beb +Subproject commit 7c8ebc230e706b9224f123e21570a6be25629255 diff --git a/deps/c-logging b/deps/c-logging index 92f28ef3..c5452088 160000 --- a/deps/c-logging +++ b/deps/c-logging @@ -1 +1 @@ -Subproject commit 92f28ef3271b665ad3add3f20933038efa707111 +Subproject commit c545208846148988138ccec58a5e0b78e5cf1c11 diff --git a/deps/c-testrunnerswitcher b/deps/c-testrunnerswitcher index 31b6bf1a..b293a41c 160000 --- a/deps/c-testrunnerswitcher +++ b/deps/c-testrunnerswitcher @@ -1 +1 @@ -Subproject commit 31b6bf1ab8166f4a58261ab659dbf7bd2ccc5f82 +Subproject commit b293a41c7241af61be718048809c61f9394eb9a5 diff --git a/deps/ctest b/deps/ctest index d27228a0..68d06d3e 160000 --- a/deps/ctest +++ b/deps/ctest @@ -1 +1 @@ -Subproject commit d27228a08d534b54638fc0fc72f96b71d6022801 +Subproject commit 68d06d3e51fbd3bd09e733adac0c81c2595790bf diff --git a/deps/macro-utils-c b/deps/macro-utils-c index 90aa3555..f537b515 160000 --- a/deps/macro-utils-c +++ b/deps/macro-utils-c @@ -1 +1 @@ -Subproject commit 90aa3555c9bb0a6129e5493eb86ae3b6d3813f82 +Subproject commit f537b5153f48a9c63b73bc43bf314b9fb3662f73 diff --git a/deps/mimalloc b/deps/mimalloc index 1d8348b4..8ff03b63 160000 --- a/deps/mimalloc +++ b/deps/mimalloc @@ -1 +1 @@ -Subproject commit 1d8348b4117d3536a0e1c30126961f7ed6eb62fa +Subproject commit 8ff03b636192e25db17eaaff29e6f75acc9a662b diff --git a/deps/umock-c b/deps/umock-c index 808d0757..e695099e 160000 --- a/deps/umock-c +++ b/deps/umock-c @@ -1 +1 @@ -Subproject commit 808d07577fd1452a839e525df2ea601f92eb5877 +Subproject commit e695099efaadaf8d49432cd196b84fc920ad7252 diff --git a/deps/vcpkg b/deps/vcpkg index 74e65362..15e5f382 160000 --- a/deps/vcpkg +++ b/deps/vcpkg @@ -1 +1 @@ -Subproject commit 74e6536215718009aae747d86d84b78376bf9e09 +Subproject commit 15e5f3820f0370f1ba7150853762cec0688cd396 diff --git a/win32/src/arithmetic_win32.c b/win32/src/arithmetic_win32.c index 40d46547..c92f3de2 100644 --- a/win32/src/arithmetic_win32.c +++ b/win32/src/arithmetic_win32.c @@ -6,8 +6,16 @@ #include "c_pal/arithmetic.h" -#if defined(_WIN64) -/*only works if compiling on 64 bits*/ +#if defined(_M_ARM64) || defined(_M_ARM64EC) +PAL_UINT128 umul64x64(uint64_t left, uint64_t right) +{ + /*Codes_SRS_ARITHMETIC_02_001: [ umul64x64 shall multiply left and right and return PAL_UINT128 as result.]*/ + PAL_UINT128 result; + result.low = left * right; + result.high = __umulh(left, right); + return result; +} +#elif defined(_M_AMD64) PAL_UINT128 umul64x64(uint64_t left, uint64_t right) { /*Codes_SRS_ARITHMETIC_02_001: [ umul64x64 shall multiply left and right and return PAL_UINT128 as result.]*/ From ac2a4e3bc03ef4404ac2688c9d0a104bea323a90 Mon Sep 17 00:00:00 2001 From: Andrei Porumb Date: Fri, 6 Feb 2026 04:53:28 -0800 Subject: [PATCH 2/2] arm64ec not in c-pal --- win32/src/arithmetic_win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win32/src/arithmetic_win32.c b/win32/src/arithmetic_win32.c index c92f3de2..d0c41988 100644 --- a/win32/src/arithmetic_win32.c +++ b/win32/src/arithmetic_win32.c @@ -6,7 +6,7 @@ #include "c_pal/arithmetic.h" -#if defined(_M_ARM64) || defined(_M_ARM64EC) +#if defined(_M_ARM64) PAL_UINT128 umul64x64(uint64_t left, uint64_t right) { /*Codes_SRS_ARITHMETIC_02_001: [ umul64x64 shall multiply left and right and return PAL_UINT128 as result.]*/