aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViktor Szakats <commit@vsz.me>2025-10-29 22:06:31 +0100
committerViktor Szakats <commit@vsz.me>2025-10-29 22:29:23 +0100
commitfad962e027842e224d32b31533a61f65cbc13727 (patch)
treeb9a2a23d6d7484e8d6988a5a68b550d909e1124a
parent74bf71300dce01249d17df84d24a2b203659408f (diff)
downloadportable-fad962e027842e224d32b31533a61f65cbc13727.tar.gz
portable-fad962e027842e224d32b31533a61f65cbc13727.tar.bz2
portable-fad962e027842e224d32b31533a61f65cbc13727.zip
cmake: disable ARM64 ASM on Windows
ARM64 ASM on Windows generates a lot of `-Wasm-operand-widths` compiler warnings. It also seems to break bignum calculations, resulting in: ``` curl: (35) TLS connect error: error:04FFF077:rsa routines:CRYPTO_internal:wrong signature length ``` and other issues. This option did not cause an issue with MSVC ARM64. The reason for this is that the only ASM code for ARM64 is the bignum implementation (crypto/bn/arch/aarch64) and that ASM code is guarded for `__GNUC__`, meaning gcc and llvm/clang, and never MSVC or clang-cl. Follow-up to 1df6b52b250f04cd322bf7a79e2105f9ed890802 #1177 Fixes #1210
-rw-r--r--CMakeLists.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bede146..503ace3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -412,6 +412,9 @@ endif()
412 412
413if(CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64|arm64|ARM64)") 413if(CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64|arm64|ARM64)")
414 set(HOST_AARCH64 true) 414 set(HOST_AARCH64 true)
415 if(WIN32)
416 set(ENABLE_ASM false)
417 endif()
415elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm") 418elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
416 set(HOST_ARM true) 419 set(HOST_ARM true)
417 if(APPLE) 420 if(APPLE)