Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libressl-cmake.sh: disable ASM for Windows ARM64
Turns out that the official Windows ARM64 curl.exe exited with an assert when run with a simple command like: `curl https://example.org`. ``` Assertion failed: (i == BN_BITS2) || (h <= (BN_ULONG)1 << i), file \crypto\bn\bn_div.c, line 96 ``` With asserts disabled the same command hung. These warnings hinted to the problem: ``` In file included from libressl/crypto/bn/bn_add.c:65: libressl/crypto/bn/arch/aarch64/bn_arch.h:35:16: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths] 35 | : [n]"=r"(n) | ^ libressl/crypto/bn/arch/aarch64/bn_arch.h:34:18: note: use constraint modifier "w" 34 | __asm__ ("clz %[n], %[w]" | ^~~~ | %w[n] libressl/crypto/bn/arch/aarch64/bn_arch.h:36:15: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths] 36 | : [w]"r"(w)); | ^ libressl/crypto/bn/arch/aarch64/bn_arch.h:34:24: note: use constraint modifier "w" 34 | __asm__ ("clz %[n], %[w]" | ^~~~ | %w[w] libressl/crypto/bn/arch/aarch64/bn_arch.h:51:37: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths] 51 | : [carry]"=r"(carry), [r0]"=r"(r0) | ^ [...] ``` autotools builds have ASM disabled by default for this build case. Ref upstream PR disabling ASM for Windows ARM64 with CMake: libressl/portable#989
- Loading branch information