summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2022-01-07 12:58:27 +0100
committerPauli <ppzgs1@gmail.com>2022-01-09 22:17:50 +1100
commit7e1ec537a91d1f33c50e8f70dff82a4ed6668e9a (patch)
tree92d6f33d8fe4a68441d7d5ff1389b1ac880d2241 /crypto
parent79fc479baf848e91a991a215d775d8aae844fbe5 (diff)
crypto/bio: fix build on UEFI
When compiling openssl for tianocore compiling abs_val() and pow_10() fails with the following error because SSE support is disabled: crypto/bio/bio_print.c:587:46: error: SSE register return with SSE disabled Fix that by using EFIAPI calling convention when compiling for UEFI. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17442) (cherry picked from commit 328bf5adf9e23da523d4195db309083aa02403c4)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/bio/bio_print.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/bio/bio_print.c b/crypto/bio/bio_print.c
index 1ea9a1a3c6..60b28c61ff 100644
--- a/crypto/bio/bio_print.c
+++ b/crypto/bio/bio_print.c
@@ -13,6 +13,7 @@
#include "crypto/ctype.h"
#include "internal/numbers.h"
#include <openssl/bio.h>
+#include <openssl/configuration.h>
/*
* Copyright Patrick Powell 1995
@@ -512,7 +513,11 @@ fmtint(char **sbuffer,
return 1;
}
+#ifdef OPENSSL_SYS_UEFI
+static LDOUBLE EFIAPI abs_val(LDOUBLE value)
+#else
static LDOUBLE abs_val(LDOUBLE value)
+#endif
{
LDOUBLE result = value;
if (value < 0)
@@ -520,7 +525,11 @@ static LDOUBLE abs_val(LDOUBLE value)
return result;
}
+#ifdef OPENSSL_SYS_UEFI
+static LDOUBLE EFIAPI pow_10(int in_exp)
+#else
static LDOUBLE pow_10(int in_exp)
+#endif
{
LDOUBLE result = 1;
while (in_exp) {