From 775fdb9f4f954b01876419d0219a8acdfa455fc7 Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin Date: Mon, 9 Nov 2015 09:50:50 -0500 Subject: 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 --- Cryptlib/OpenSSL/crypto/cryptlib.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Cryptlib/OpenSSL/crypto/cryptlib.h') diff --git a/Cryptlib/OpenSSL/crypto/cryptlib.h b/Cryptlib/OpenSSL/crypto/cryptlib.h index fba180a6..7ca4c99f 100644 --- a/Cryptlib/OpenSSL/crypto/cryptlib.h +++ b/Cryptlib/OpenSSL/crypto/cryptlib.h @@ -100,7 +100,11 @@ extern "C" { void OPENSSL_cpuid_setup(void); extern unsigned int OPENSSL_ia32cap_P[]; +# if defined(OPENSSL_SYS_UEFI) +void EFIAPI OPENSSL_showfatal(const char *fmta, ...); +# else void OPENSSL_showfatal(const char *fmta, ...); +# endif void *OPENSSL_stderr(void); extern int OPENSSL_NONPIC_relocated; -- cgit v1.2.3