]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
CryptoPkg/TlsLib: rewrite TlsSetCipherList()
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / OpensslLibCrypto.inf
index cbbb456d707520d3128f4095171dd452db8fa6e7..f5429989618793ab0dda470780a7fa14af351bfe 100644 (file)
@@ -95,6 +95,7 @@
   $(OPENSSL_PATH)/crypto/asn1/x_algor.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_bignum.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_info.c\r
+  $(OPENSSL_PATH)/crypto/asn1/x_int64.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_long.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_sig.c\r
   #   C4244: conversion from type1 to type2, possible loss of data\r
   #   C4245: conversion from type1 to type2, signed/unsigned mismatch\r
   #   C4267: conversion from size_t to type, possible loss of data\r
+  #   C4306: 'identifier' : conversion from 'type1' to 'type2' of greater size\r
   #   C4389: 'operator' : signed/unsigned mismatch (xxxx)\r
   #   C4702: unreachable code\r
   #   C4706: assignment within conditional expression\r
+  #   C4819: The file contains a character that cannot be represented in the current code page\r
   #\r
-  MSFT:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706\r
-  MSFT:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706\r
-  MSFT:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706\r
+  MSFT:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706 /wd4819\r
+  MSFT:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706 /wd4819\r
+  MSFT:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706 /wd4819\r
 \r
   INTEL:*_*_IA32_CC_FLAGS  = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   INTEL:*_*_X64_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   INTEL:*_*_IPF_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
 \r
-  GCC:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS)\r
-  GCC:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -DNO_MSABI_VA_FUNCS\r
-  GCC:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS)\r
-  GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS)\r
-  GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS)\r
+  #\r
+  # Suppress the following build warnings in openssl so we don't break the build with -Werror\r
+  #   -Werror=maybe-uninitialized: there exist some other paths for which the variable is not initialized.\r
+  #   -Werror=format: Check calls to printf and scanf, etc., to make sure that the arguments supplied have\r
+  #                   types appropriate to the format string specified.\r
+  #\r
+  GCC:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
+  GCC:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=format -Wno-format -DNO_MSABI_VA_FUNCS\r
+  GCC:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format\r
+  GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
+  GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format\r
 \r
   # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:\r
   # 1295: Deprecated declaration <entity> - give arg types\r
   RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) --library_interface=aeabi_clib99 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188,128,546,1,3017 -JCryptoPkg/Include\r
   XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
   XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
+\r
+  #\r
+  # AARCH64 uses strict alignment and avoids SIMD registers for code that may execute\r
+  # with the MMU off. This involves SEC, PEI_CORE and PEIM modules as well as BASE\r
+  # libraries, given that they may be included into such modules.\r
+  # This library, even though of the BASE type, is never used in such cases, and\r
+  # avoiding the SIMD register file (which is shared with the FPU) prevents the\r
+  # compiler from successfully building some of the OpenSSL source files that\r
+  # use floating point types, so clear the flags here.\r
+  #\r
+  GCC:*_*_AARCH64_CC_XIPFLAGS ==\r