https://bugs.gentoo.org/923957
https://github.com/openssl/openssl/pull/23458
https://github.com/openssl/openssl/commit/5fa5d59750db9df00f4871949a66020ac44f4f9c

From 5fa5d59750db9df00f4871949a66020ac44f4f9c Mon Sep 17 00:00:00 2001
From: Ingo Franzki <ifranzki@linux.ibm.com>
Date: Fri, 2 Feb 2024 10:20:55 +0100
Subject: [PATCH] s390x: Fix build on s390x with 'disable-asm'

Do not define S390X_MOD_EXP for a NO_ASM build, this would result in
unresolved externals for s390x_mod_exp and s390x_crt.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23458)

(cherry picked from commit a5b0c568dbefddd154f99011d7ce76cfbfadb67a)
--- a/include/crypto/bn.h
+++ b/include/crypto/bn.h
@@ -116,7 +116,8 @@ OSSL_LIB_CTX *ossl_bn_get_libctx(BN_CTX *ctx);
 
 extern const BIGNUM ossl_bn_inv_sqrt_2;
 
-#if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE) && defined (__s390x__)
+#if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE) && defined (__s390x__) \
+    && !defined (OPENSSL_NO_ASM)
 # define S390X_MOD_EXP
 #endif
 
