summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/cryptlib.c
diff options
context:
space:
mode:
authorGary Ching-Pang Lin <glin@suse.com>2015-10-27 12:00:13 +0800
committerPeter Jones <pjones@redhat.com>2015-11-09 09:50:50 -0500
commit5a49bad020792483b5abd137861f906c55bf9dca (patch)
treec52c4a6cfde6d31ae5c345183fb3c3ee0ecf33f9 /Cryptlib/OpenSSL/crypto/cryptlib.c
parente22a7b5b772dba6588dd955dc017e572f7e29784 (diff)
downloadefi-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.c4
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;