cmake: disable ARM64 ASM on Windows
ARM64 ASM on Windows generates a lot of -Wasm-operand-widths compiler
warnings (with llvm/clang). 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
Thanks. I'll leave it to @4a6f656c and @busterb to puzzle this out. It smells a bit like the usual long vs long long issue with bignums on Windows.
Thanks. I'll leave it to @4a6f656c and @busterb to puzzle this out. It smells a bit like the usual
longvslong longissue with bignums on Windows.
You're very welcome. Yes, that matches my impression.
(Amended the patch to avoid checking DEFINED. This point is past options(ENABLE_ASM ...) so it doesn't work. Going with simply forcing false. It can be deleted once the ASM code is implemented for Windows.)