$(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