Skip to content

Commit 82bfdc9

Browse files
committed
Apply OpenSSL PR 20235 to fix builds on ARM64
1 parent ccb73ca commit 82bfdc9

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

20235.diff

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/crypto/bn/rsa_sup_mul.c b/crypto/bn/rsa_sup_mul.c
2+
index 0e0d02e1946e..234cce026dc1 100644
3+
--- a/crypto/bn/rsa_sup_mul.c
4+
+++ b/crypto/bn/rsa_sup_mul.c
5+
@@ -109,7 +109,7 @@ static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)
6+
*hi = t >> LIMB_BIT_SIZE;
7+
*lo = (limb_t)t;
8+
}
9+
-#elif (BN_BYTES == 8) && (defined _MSC_VER)
10+
+#elif (BN_BYTES == 8) && (defined _MSC_VER) && (defined(_M_AMD64) || defined(_M_X64))
11+
/* https://learn.microsoft.com/en-us/cpp/intrinsics/umul128?view=msvc-170 */
12+
#pragma intrinsic(_umul128)
13+
static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)

crypto/bn/rsa_sup_mul.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)
109109
*hi = t >> LIMB_BIT_SIZE;
110110
*lo = (limb_t)t;
111111
}
112-
#elif (BN_BYTES == 8) && (defined _MSC_VER)
112+
#elif (BN_BYTES == 8) && (defined _MSC_VER) && (defined(_M_AMD64) || defined(_M_X64))
113113
/* https://learn.microsoft.com/en-us/cpp/intrinsics/umul128?view=msvc-170 */
114114
#pragma intrinsic(_umul128)
115115
static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)

0 commit comments

Comments
 (0)