diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2022-01-07 12:58:27 +0100 |
---|---|---|
committer | Pauli <ppzgs1@gmail.com> | 2022-01-09 22:17:14 +1100 |
commit | 328bf5adf9e23da523d4195db309083aa02403c4 (patch) | |
tree | 801e9fe5d7cd571bbb808ac42d204da53aee70bc /crypto | |
parent | 40c24d74deaad8a0ad7566a68ea5ea757bc3ccef (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)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bio/bio_print.c | 9 |
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) { |