From 5fa05671e2ac0dafc52eb3b8049b4ac95f54d3bf Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 17 Dec 2015 17:02:06 +0000 Subject: [PATCH] CryptoPkg: fix build support under RVCT The RVCT compiler chokes on a couple of issues in upstream OpenSSL that can be confirmed to be non-issues by inspection. So just ignore these warnings entirely. Also, move the dummy -J system include from CryptoPkg.dsc to the various .INF files, since it will not be picked up when building the CryptoPkg libraries from a platform .DSC Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Qin Long git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19328 6f19259b-4bc3-4df7-8a09-765794883524 --- CryptoPkg/CryptoPkg.dsc | 18 ------------------ .../Library/BaseCryptLib/BaseCryptLib.inf | 4 ++++ CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | 4 ++++ .../Library/BaseCryptLib/RuntimeCryptLib.inf | 4 ++++ CryptoPkg/Library/OpensslLib/OpensslLib.inf | 7 ++++++- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index 043704067a..fdd0431fd1 100644 --- a/CryptoPkg/CryptoPkg.dsc +++ b/CryptoPkg/CryptoPkg.dsc @@ -87,24 +87,6 @@ [LibraryClasses.common.UEFI_APPLICATION] BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf -############################################################################### -# -# BuildOptions Section - Define the module specific tool chain flags that -# should be used as the default flags for a module. -# These flags are appended to any standard flags that -# are defined by the build process. -# -# -JCryptoPkg/Include : To disable the use of the system includes provided by -# the RVCT toolchain. -# --diag_remark=1 : To make the warning "#1-D: last line of file ends -# without a newline" just a remark such that the -# build doesn't stop as warnings are considered as -# errors. -# -################################################################################ -[BuildOptions] -RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1 - ################################################################################ # # Pcd Section - list of all EDK II PCD Entries defined by this Platform diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf index 05cfe11b2c..a66faf1c04 100644 --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf @@ -95,3 +95,7 @@ # C4305: truncation from type1 to type2 (Introduced by RFC3161 Timestamp ASN.1 declarations) MSFT:*_*_*_CC_FLAGS = /wd4305 GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))" + + # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT + # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" + RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1 diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf index b522a3628b..75f8e6e5f0 100644 --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf @@ -85,3 +85,7 @@ # [BuildOptions] GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))" + + # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT + # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" + RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1 diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf index cf38b51ff2..446f0ae476 100644 --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf @@ -98,3 +98,7 @@ # [BuildOptions] GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))" + + # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT + # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" + RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1 diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index 216c1bb764..54ac055a43 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -893,6 +893,11 @@ # 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) --library_interface=aeabi_clib99 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188 + # 128: loop is not reachable - may be emitted inappropriately if code follows a conditional return + # from the function that evaluates to true at compile time + # 546: transfer of control bypasses initialization - may be emitted inappropriately if the uninitialized + # variable is never referenced after the jump + # 1: ignore "#1-D: last line of file ends without a newline" + 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 -JCryptoPkg/Include 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