diff --git a/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch b/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch index 4e1fd5b688..6be397b8b9 100644 --- a/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch +++ b/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch @@ -342,7 +342,7 @@ diff U3 crypto/crypto.h crypto/crypto.h diff U3 crypto/opensslconf.h crypto/opensslconf.h --- crypto/opensslconf.h Thu Jun 11 21:55:38 2015 +++ crypto/opensslconf.h Fri Jun 12 10:28:27 2015 -@@ -5,6 +5,9 @@ +@@ -5,15 +5,72 @@ extern "C" { #endif /* OpenSSL was configured with the following options: */ @@ -352,7 +352,307 @@ diff U3 crypto/opensslconf.h crypto/opensslconf.h #ifndef OPENSSL_DOING_MAKEDEPEND -@@ -152,7 +155,7 @@ ++#ifndef OPENSSL_NO_BF ++# define OPENSSL_NO_BF ++#endif ++#ifndef OPENSSL_NO_CAMELLIA ++# define OPENSSL_NO_CAMELLIA ++#endif ++#ifndef OPENSSL_NO_CAPIENG ++# define OPENSSL_NO_CAPIENG ++#endif ++#ifndef OPENSSL_NO_CAST ++# define OPENSSL_NO_CAST ++#endif ++#ifndef OPENSSL_NO_CMS ++# define OPENSSL_NO_CMS ++#endif ++#ifndef OPENSSL_NO_DEPRECATED ++# define OPENSSL_NO_DEPRECATED ++#endif ++#ifndef OPENSSL_NO_DGRAM ++# define OPENSSL_NO_DGRAM ++#endif ++#ifndef OPENSSL_NO_DSA ++# define OPENSSL_NO_DSA ++#endif ++#ifndef OPENSSL_NO_DYNAMIC_ENGINE ++# define OPENSSL_NO_DYNAMIC_ENGINE ++#endif ++#ifndef OPENSSL_NO_EC ++# define OPENSSL_NO_EC ++#endif + #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 + # define OPENSSL_NO_EC_NISTP_64_GCC_128 + #endif ++#ifndef OPENSSL_NO_ECDH ++# define OPENSSL_NO_ECDH ++#endif ++#ifndef OPENSSL_NO_ECDSA ++# define OPENSSL_NO_ECDSA ++#endif ++#ifndef OPENSSL_NO_ENGINE ++# define OPENSSL_NO_ENGINE ++#endif ++#ifndef OPENSSL_NO_ENGINES ++# define OPENSSL_NO_ENGINES ++#endif ++#ifndef OPENSSL_NO_FILENAMES ++# define OPENSSL_NO_FILENAMES ++#endif ++#ifndef OPENSSL_NO_FP_API ++# define OPENSSL_NO_FP_API ++#endif + #ifndef OPENSSL_NO_GMP + # define OPENSSL_NO_GMP + #endif ++#ifndef OPENSSL_NO_GOST ++# define OPENSSL_NO_GOST ++#endif ++#ifndef OPENSSL_NO_IDEA ++# define OPENSSL_NO_IDEA ++#endif + #ifndef OPENSSL_NO_JPAKE + # define OPENSSL_NO_JPAKE + #endif +@@ -23,30 +80,90 @@ + #ifndef OPENSSL_NO_LIBUNBOUND + # define OPENSSL_NO_LIBUNBOUND + #endif ++#ifndef OPENSSL_NO_LOCKING ++# define OPENSSL_NO_LOCKING ++#endif + #ifndef OPENSSL_NO_MD2 + # define OPENSSL_NO_MD2 + #endif ++#ifndef OPENSSL_NO_MDC2 ++# define OPENSSL_NO_MDC2 ++#endif ++#ifndef OPENSSL_NO_POSIX_IO ++# define OPENSSL_NO_POSIX_IO ++#endif ++#ifndef OPENSSL_NO_RC2 ++# define OPENSSL_NO_RC2 ++#endif + #ifndef OPENSSL_NO_RC5 + # define OPENSSL_NO_RC5 + #endif ++#ifndef OPENSSL_NO_RCS ++# define OPENSSL_NO_RCS ++#endif + #ifndef OPENSSL_NO_RFC3779 + # define OPENSSL_NO_RFC3779 + #endif ++#ifndef OPENSSL_NO_RIPEMD ++# define OPENSSL_NO_RIPEMD ++#endif ++#ifndef OPENSSL_NO_SCRYPT ++# define OPENSSL_NO_SCRYPT ++#endif ++#ifndef OPENSSL_NO_SCT ++# define OPENSSL_NO_SCT ++#endif + #ifndef OPENSSL_NO_SCTP + # define OPENSSL_NO_SCTP + #endif ++#ifndef OPENSSL_NO_SEED ++# define OPENSSL_NO_SEED ++#endif ++#ifndef OPENSSL_NO_SHA0 ++# define OPENSSL_NO_SHA0 ++#endif ++#ifndef OPENSSL_NO_SOCK ++# define OPENSSL_NO_SOCK ++#endif ++#ifndef OPENSSL_NO_SRP ++# define OPENSSL_NO_SRP ++#endif + #ifndef OPENSSL_NO_SSL_TRACE + # define OPENSSL_NO_SSL_TRACE + #endif ++#ifndef OPENSSL_NO_SSL2 ++# define OPENSSL_NO_SSL2 ++#endif ++#ifndef OPENSSL_NO_SSL3 ++# define OPENSSL_NO_SSL3 ++#endif ++#ifndef OPENSSL_NO_STDIO ++# define OPENSSL_NO_STDIO ++#endif + #ifndef OPENSSL_NO_STORE + # define OPENSSL_NO_STORE + #endif ++#ifndef OPENSSL_NO_UI ++# define OPENSSL_NO_UI ++#endif + #ifndef OPENSSL_NO_UNIT_TEST + # define OPENSSL_NO_UNIT_TEST + #endif ++#ifndef OPENSSL_NO_WHIRLPOOL ++# define OPENSSL_NO_WHIRLPOOL ++#endif + + #endif /* OPENSSL_DOING_MAKEDEPEND */ + ++#ifndef OPENSSL_NO_ASM ++# define OPENSSL_NO_ASM ++#endif ++#ifndef OPENSSL_NO_ERR ++# define OPENSSL_NO_ERR ++#endif ++#ifndef OPENSSL_NO_HW ++# define OPENSSL_NO_HW ++#endif + #ifndef OPENSSL_NO_DYNAMIC_ENGINE + # define OPENSSL_NO_DYNAMIC_ENGINE + #endif +@@ -56,12 +173,66 @@ + who haven't had the time to do the appropriate changes in their + applications. */ + #ifdef OPENSSL_ALGORITHM_DEFINES ++# if defined(OPENSSL_NO_BF) && !defined(NO_BF) ++# define NO_BF ++# endif ++# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA) ++# define NO_CAMELLIA ++# endif ++# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG) ++# define NO_CAPIENG ++# endif ++# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST) ++# define NO_CAST ++# endif ++# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS) ++# define NO_CMS ++# endif ++# if defined(OPENSSL_NO_DEPRECATED) && !defined(NO_DEPRECATED) ++# define NO_DEPRECATED ++# endif ++# if defined(OPENSSL_NO_DGRAM) && !defined(NO_DGRAM) ++# define NO_DGRAM ++# endif ++# if defined(OPENSSL_NO_DSA) && !defined(NO_DSA) ++# define NO_DSA ++# endif ++# if defined(OPENSSL_NO_DYNAMIC_ENGINE) && !defined(NO_DYNAMIC_ENGINE) ++# define NO_DYNAMIC_ENGINE ++# endif ++# if defined(OPENSSL_NO_EC) && !defined(NO_EC) ++# define NO_EC ++# endif + # if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) + # define NO_EC_NISTP_64_GCC_128 + # endif ++# if defined(OPENSSL_NO_ECDH) && !defined(NO_ECDH) ++# define NO_ECDH ++# endif ++# if defined(OPENSSL_NO_ECDSA) && !defined(NO_ECDSA) ++# define NO_ECDSA ++# endif ++# if defined(OPENSSL_NO_ENGINE) && !defined(NO_ENGINE) ++# define NO_ENGINE ++# endif ++# if defined(OPENSSL_NO_ENGINES) && !defined(NO_ENGINES) ++# define NO_ENGINES ++# endif ++# if defined(OPENSSL_NO_FILENAMES) && !defined(NO_FILENAMES) ++# define NO_FILENAMES ++# endif ++# if defined(OPENSSL_NO_FP_API) && !defined(NO_FP_API) ++# define NO_FP_API ++# endif + # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) + # define NO_GMP + # endif ++# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST) ++# define NO_GOST ++# endif ++# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) ++# define NO_IDEA ++# endif + # if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) + # define NO_JPAKE + # endif +@@ -71,27 +242,78 @@ + # if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) + # define NO_LIBUNBOUND + # endif ++# if defined(OPENSSL_NO_LOCKING) && !defined(NO_LOCKING) ++# define NO_LOCKING ++# endif + # if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) + # define NO_MD2 + # endif ++# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) ++# define NO_MDC2 ++# endif ++# if defined(OPENSSL_NO_POSIX_IO) && !defined(NO_POSIX_IO) ++# define NO_POSIX_IO ++# endif ++# if defined(OPENSSL_NO_RC2) && !defined(NO_RC2) ++# define NO_RC2 ++# endif + # if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) + # define NO_RC5 + # endif ++# if defined(OPENSSL_NO_RCS) && !defined(NO_RCS) ++# define NO_RCS ++# endif + # if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) + # define NO_RFC3779 + # endif ++# if defined(OPENSSL_NO_RIPEMD) && !defined(NO_RIPEMD) ++# define NO_RIPEMD ++# endif ++# if defined(OPENSSL_NO_SCRYPT) && !defined(NO_SCRYPT) ++# define NO_SCRYPT ++# endif ++# if defined(OPENSSL_NO_SCT) && !defined(NO_SCT) ++# define NO_SCT ++# endif + # if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) + # define NO_SCTP + # endif ++# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED) ++# define NO_SEED ++# endif ++# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0) ++# define NO_SHA0 ++# endif ++# if defined(OPENSSL_NO_SOCK) && !defined(NO_SOCK) ++# define NO_SOCK ++# endif ++# if defined(OPENSSL_NO_SRP) && !defined(NO_SRP) ++# define NO_SRP ++# endif + # if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) + # define NO_SSL_TRACE + # endif ++# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) ++# define NO_SSL2 ++# endif ++# if defined(OPENSSL_NO_SSL3) && !defined(NO_SSL3) ++# define NO_SSL3 ++# endif ++# if defined(OPENSSL_NO_STDIO) && !defined(NO_STDIO) ++# define NO_STDIO ++# endif + # if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) + # define NO_STORE + # endif ++# if defined(OPENSSL_NO_UI) && !defined(NO_UI) ++# define NO_UI ++# endif + # if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) + # define NO_UNIT_TEST + # endif ++# if defined(OPENSSL_NO_WHIRLPOOL) && !defined(NO_WHIRLPOOL) ++# define NO_WHIRLPOOL ++# endif + #endif + + /* crypto/opensslconf.h.in */ +@@ -152,7 +374,7 @@ #endif #endif diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index 4abdc6a1fc..2e74f6cbec 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -21,34 +21,7 @@ VERSION_STRING = 1.0 LIBRARY_CLASS = OpensslLib DEFINE OPENSSL_PATH = openssl-1.0.2d - DEFINE OPENSSL_FLAGS = -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DOPENSSL_NO_STDIO -DOPENSSL_NO_POSIX_IO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_ASM - DEFINE OPENSSL_EXFLAGS = -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_RC2 -DOPENSSL_NO_IDEA -DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_WHIRLPOOL -DOPENSSL_NO_DSA -DOPENSSL_NO_EC -DOPENSSL_NO_ECDH -DOPENSSL_NO_ECDSA -DOPENSSL_NO_SRP -DOPENSSL_NO_ENGINE - -# -# OPENSSL_FLAGS is set to define the following flags to be compatible with -# EDK II build system and UEFI executiuon environment -# -# OPENSSL_SYS_UEFI -# L_ENDIAN -# _CRT_SECURE_NO_DEPRECATE -# _CRT_NONSTDC_NO_DEPRECATE -# OPENSSL_NO_CAMELLIA -# OPENSSL_NO_SEED -# OPENSSL_NO_RC5 -# OPENSSL_NO_MDC2 -# OPENSSL_NO_SOCK -# OPENSSL_NO_CMS -# OPENSSL_NO_JPAKE -# OPENSSL_NO_CAPIENG -# OPENSSL_NO_ERR -# OPENSSL_NO_KRB5 -# OPENSSL_NO_DYNAMIC_ENGINE -# OPENSSL_NO_STDIO -# OPENSSL_NO_POSIX_IO -# OPENSSL_NO_FP_API -# OPENSSL_NO_DGRAM -# OPENSSL_NO_ASM -# + DEFINE OPENSSL_FLAGS = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE # # VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64 @@ -890,19 +863,19 @@ # C4306: conversion from type1 to type2 of greater size # C4702: Potentially uninitialized local variable name used # - MSFT:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /wd4244 /wd4701 /wd4702 /wd4706 - MSFT:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706 - MSFT:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706 + MSFT:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4244 /wd4701 /wd4702 /wd4706 + MSFT:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706 + MSFT:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706 - INTEL:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w - INTEL:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w - INTEL:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w + INTEL:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w + INTEL:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w + INTEL:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w - GCC:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w - GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -UNO_BUILTIN_VA_FUNCS - GCC:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w - GCC:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w - GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w + GCC:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w + GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -UNO_BUILTIN_VA_FUNCS + GCC:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w + GCC:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) -w + GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -w # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types @@ -916,6 +889,6 @@ # 513: a value of type cannot be assigned to an entity of type # 188: enumerated type mixed with another type (i.e. passing an integer as an enum without a cast) # 1296: Extended constant initialiser used - RVCT:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) --library_interface=aeabi_clib99 --fpu=vfpv3 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188 - XCODE:*_*_IA32_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w - XCODE:*_*_X64_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w + RVCT:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) --library_interface=aeabi_clib99 --fpu=vfpv3 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188 + XCODE:*_*_IA32_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w + XCODE:*_*_X64_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w