diff options
| author | Viktor Szakats <commit@vsz.me> | 2025-10-29 22:06:31 +0100 |
|---|---|---|
| committer | Viktor Szakats <commit@vsz.me> | 2025-10-29 22:29:23 +0100 |
| commit | fad962e027842e224d32b31533a61f65cbc13727 (patch) | |
| tree | b9a2a23d6d7484e8d6988a5a68b550d909e1124a | |
| parent | 74bf71300dce01249d17df84d24a2b203659408f (diff) | |
| download | portable-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.txt | 3 |
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 | ||
| 413 | if(CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64|arm64|ARM64)") | 413 | if(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() | ||
| 415 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm") | 418 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm") |
| 416 | set(HOST_ARM true) | 419 | set(HOST_ARM true) |
| 417 | if(APPLE) | 420 | if(APPLE) |
