diff options
| author | Gary Ching-Pang Lin <glin@suse.com> | 2015-10-27 12:00:13 +0800 |
|---|---|---|
| committer | Peter Jones <pjones@redhat.com> | 2015-11-09 09:50:50 -0500 |
| commit | 5a49bad020792483b5abd137861f906c55bf9dca (patch) | |
| tree | c52c4a6cfde6d31ae5c345183fb3c3ee0ecf33f9 /Cryptlib/OpenSSL/crypto/cryptlib.c | |
| parent | e22a7b5b772dba6588dd955dc017e572f7e29784 (diff) | |
| download | efi-boot-shim-5a49bad020792483b5abd137861f906c55bf9dca.tar.gz efi-boot-shim-5a49bad020792483b5abd137861f906c55bf9dca.zip | |
Cryptlib: Define the va functions for EFIAPI
It turned out that my previous crash fix(*) was wrong.
We actually always used the gcc built-in va functions instead of
the "real" va functions for EFIAPI, and we are just lucky that
ERR_add_error_data didn't crash before.
This commit copies the va functions from MdePkg/Include/Base.h
in edk2 and introdues NO_BUILTIN_VA_FUNCS for x86_64, so that all
the x86_64 build will adopt the new va functions. For safety,
I also added EFIAPI to all the functions which use va_* to avoid
the potential trouble.
(*) a7f4b26cc35204165bd04e75c34e8e7aa2a87ecc
Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/cryptlib.c')
| -rw-r--r-- | Cryptlib/OpenSSL/crypto/cryptlib.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Cryptlib/OpenSSL/crypto/cryptlib.c b/Cryptlib/OpenSSL/crypto/cryptlib.c index ca0e3ccc..0a59342d 100644 --- a/Cryptlib/OpenSSL/crypto/cryptlib.c +++ b/Cryptlib/OpenSSL/crypto/cryptlib.c @@ -962,7 +962,11 @@ void OPENSSL_showfatal(const char *fmta, ...) MessageBox(NULL, buf, _T("OpenSSL: FATAL"), MB_OK | MB_ICONSTOP); } #else +# if defined(OPENSSL_SYS_UEFI) +void EFIAPI OPENSSL_showfatal(const char *fmta, ...) +# else void OPENSSL_showfatal(const char *fmta, ...) +# endif { va_list ap; |
