e4ef647823
- Fix compiler error "initializer element is not constant" on s390 * Add openssl-z16-s390x.patch OBS-URL: https://build.opensuse.org/request/show/1074731 OBS-URL: https://build.opensuse.org/package/show/security:tls/openssl-3?expand=0&rev=59
112 lines
5.5 KiB
Diff
112 lines
5.5 KiB
Diff
iIndex: openssl-3.1.0/crypto/s390xcap.c
|
|
===================================================================
|
|
--- openssl-3.1.0.orig/crypto/s390xcap.c
|
|
+++ openssl-3.1.0/crypto/s390xcap.c
|
|
@@ -674,7 +674,105 @@ static int parse_env(struct OPENSSL_s390
|
|
* z16 (2022) - z/Architecture POP
|
|
* Implements MSA and MSA1-9 (same as z15).
|
|
*/
|
|
+#if defined(__GNUC__) && __GNUC__<13 && (defined(__s390__) || defined(__s390x__))
|
|
+ static const struct OPENSSL_s390xcap_st z16 = {
|
|
+ /*.stfle = */{S390X_CAPBIT(S390X_MSA)
|
|
+ | S390X_CAPBIT(S390X_STCKF)
|
|
+ | S390X_CAPBIT(S390X_MSA5),
|
|
+ S390X_CAPBIT(S390X_MSA3)
|
|
+ | S390X_CAPBIT(S390X_MSA4),
|
|
+ S390X_CAPBIT(S390X_VX)
|
|
+ | S390X_CAPBIT(S390X_VXD)
|
|
+ | S390X_CAPBIT(S390X_VXE)
|
|
+ | S390X_CAPBIT(S390X_MSA8)
|
|
+ | S390X_CAPBIT(S390X_MSA9),
|
|
+ 0ULL},
|
|
+ /*.kimd = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_SHA_1)
|
|
+ | S390X_CAPBIT(S390X_SHA_256)
|
|
+ | S390X_CAPBIT(S390X_SHA_512)
|
|
+ | S390X_CAPBIT(S390X_SHA3_224)
|
|
+ | S390X_CAPBIT(S390X_SHA3_256)
|
|
+ | S390X_CAPBIT(S390X_SHA3_384)
|
|
+ | S390X_CAPBIT(S390X_SHA3_512)
|
|
+ | S390X_CAPBIT(S390X_SHAKE_128)
|
|
+ | S390X_CAPBIT(S390X_SHAKE_256),
|
|
+ S390X_CAPBIT(S390X_GHASH)},
|
|
+ /*.klmd = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_SHA_1)
|
|
+ | S390X_CAPBIT(S390X_SHA_256)
|
|
+ | S390X_CAPBIT(S390X_SHA_512)
|
|
+ | S390X_CAPBIT(S390X_SHA3_224)
|
|
+ | S390X_CAPBIT(S390X_SHA3_256)
|
|
+ | S390X_CAPBIT(S390X_SHA3_384)
|
|
+ | S390X_CAPBIT(S390X_SHA3_512)
|
|
+ | S390X_CAPBIT(S390X_SHAKE_128)
|
|
+ | S390X_CAPBIT(S390X_SHAKE_256),
|
|
+ 0ULL},
|
|
+ /*.km = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256)
|
|
+ | S390X_CAPBIT(S390X_XTS_AES_128)
|
|
+ | S390X_CAPBIT(S390X_XTS_AES_256),
|
|
+ 0ULL},
|
|
+ /*.kmc = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256),
|
|
+ 0ULL},
|
|
+ /*.kmac = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256),
|
|
+ 0ULL},
|
|
+ /*.kmctr = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256),
|
|
+ 0ULL},
|
|
+ /*.kmo = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256),
|
|
+ 0ULL},
|
|
+ /*.kmf = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256),
|
|
+ 0ULL},
|
|
+ /*.prno = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_SHA_512_DRNG),
|
|
+ S390X_CAPBIT(S390X_TRNG)},
|
|
+ /*.kma = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_AES_128)
|
|
+ | S390X_CAPBIT(S390X_AES_192)
|
|
+ | S390X_CAPBIT(S390X_AES_256),
|
|
+ 0ULL},
|
|
+ /*.pcc = */{S390X_CAPBIT(S390X_QUERY),
|
|
+ S390X_CAPBIT(S390X_SCALAR_MULTIPLY_P256)
|
|
+ | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_P384)
|
|
+ | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_P521)
|
|
+ | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_ED25519)
|
|
+ | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_ED448)
|
|
+ | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_X25519)
|
|
+ | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_X448)},
|
|
+ /*.kdsa = */{S390X_CAPBIT(S390X_QUERY)
|
|
+ | S390X_CAPBIT(S390X_ECDSA_VERIFY_P256)
|
|
+ | S390X_CAPBIT(S390X_ECDSA_VERIFY_P384)
|
|
+ | S390X_CAPBIT(S390X_ECDSA_VERIFY_P521)
|
|
+ | S390X_CAPBIT(S390X_ECDSA_SIGN_P256)
|
|
+ | S390X_CAPBIT(S390X_ECDSA_SIGN_P384)
|
|
+ | S390X_CAPBIT(S390X_ECDSA_SIGN_P521)
|
|
+ | S390X_CAPBIT(S390X_EDDSA_VERIFY_ED25519)
|
|
+ | S390X_CAPBIT(S390X_EDDSA_VERIFY_ED448)
|
|
+ | S390X_CAPBIT(S390X_EDDSA_SIGN_ED25519)
|
|
+ | S390X_CAPBIT(S390X_EDDSA_SIGN_ED448),
|
|
+ 0ULL},
|
|
+ };
|
|
+#else
|
|
static const struct OPENSSL_s390xcap_st z16 = z15;
|
|
+#endif
|
|
|
|
char *tok_begin, *tok_end, *buff, tok[S390X_STFLE_MAX][LEN + 1];
|
|
int rc, off, i, n;
|
|
|