Reviewed-by: Jian J Wang <jian.j.w...@intel.com>

> -----Original Message-----
> From: Lu, XiaoyuX
> Sent: Monday, June 03, 2019 5:53 PM
> To: devel@edk2.groups.io
> Cc: Lu, XiaoyuX <xiaoyux...@intel.com>; Wang, Jian J <jian.j.w...@intel.com>;
> Ye, Ting <ting...@intel.com>
> Subject: [PATCH v1 1/1] CryptoPkg: Fix build problem with XCODE
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1089
> 
> When building CryptoPkg with XCODE, blow error may result
> 
> * usr/lib/clang/9.0.0/include/stdatomic.h:105:17:
> error: unknown type name 'wchar_t'
> 
> Since the C native atomics are C11 feature we can explicitly
> use C99 to work around it.
> add -std=c99 to avoid it
> 
> * openssl/crypto/conf/conf_sap.c:71:12: error: variable 'ret' is
>     uninitialized
>     when used here [-Werror,-Wuninitialized]
> 
> Suppress warnings in OpenSSL so we don't break the build with -Werror.
> add -Wno-error=uninitialized to disalbe this warning
> 
> Cc: Jian Wang <jian.j.w...@intel.com>
> Cc: Ting Ye <ting...@intel.com>
> Signed-off-by: Xiaoyu Lu <xiaoyux...@intel.com>
> ---
>  CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf    | 2 ++
>  CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf     | 2 ++
>  CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 2 ++
>  CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf     | 2 +-
>  CryptoPkg/Library/OpensslLib/OpensslLib.inf        | 4 ++--
>  CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf  | 4 ++--
>  6 files changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> index 2a581ceac70c..983635b46a96 100644
> --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> @@ -98,3 +98,5 @@ [BuildOptions]
>    RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
> 
>    GCC:*_CLANG38_*_CC_FLAGS = -std=c99
> +
> +  XCODE:*_*_*_CC_FLAGS = -std=c99
> diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> index 8fdc6920ec2e..aac75b8cf4f8 100644
> --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> @@ -95,3 +95,5 @@ [BuildOptions]
>    RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
> 
>    GCC:*_CLANG38_*_CC_FLAGS = -std=c99
> +
> +  XCODE:*_*_*_CC_FLAGS = -std=c99
> diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> index 9d639fd01eae..82b0a485fbf8 100644
> --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> @@ -103,3 +103,5 @@ [BuildOptions]
>    RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
> 
>    GCC:*_CLANG38_*_CC_FLAGS = -std=c99
> +
> +  XCODE:*_*_*_CC_FLAGS = -std=c99
> diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> index c9f4abb22aea..c2b62002790c 100644
> --- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> @@ -97,6 +97,6 @@ [BuildOptions]
>    #
>    MSFT:*_*_*_CC_FLAGS = /wd4090
> 
> -  XCODE:*_*_*_CC_FLAGS = -mmmx -msse
> +  XCODE:*_*_*_CC_FLAGS = -mmmx -msse -std=c99
> 
>    GCC:*_CLANG38_*_CC_FLAGS = -std=c99
> diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> index 39749518027c..128390d1e6a0 100644
> --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> @@ -623,8 +623,8 @@ [BuildOptions]
>    # 3017: <entity> may be used before being set (NOTE: This was fixed in
> OpenSSL 1.1 HEAD with
>    #       commit d9b8b89bec4480de3a10bdaf9425db371c19145b, and can be
> dropped then.)
>    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,301
> 7 -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
> +  XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64
> $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
> +  XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64
> $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
> 
>    #
>    # AARCH64 uses strict alignment and avoids SIMD registers for code that may
> execute
> diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> index 8c290caacf1b..c954d7f00ee5 100644
> --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> @@ -579,8 +579,8 @@ [BuildOptions]
>    # 3017: <entity> may be used before being set (NOTE: This was fixed in
> OpenSSL 1.1 HEAD with
>    #       commit d9b8b89bec4480de3a10bdaf9425db371c19145b, and can be
> dropped then.)
>    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,301
> 7 -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
> +  XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64
> $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
> +  XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64
> $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
> 
>    #
>    # AARCH64 uses strict alignment and avoids SIMD registers for code that may
> execute
> --
> 2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41822): https://edk2.groups.io/g/devel/message/41822
Mute This Topic: https://groups.io/mt/31908441/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to