Reviewed-by: Jian J Wang <jian.j.w...@intel.com>
> -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Tuesday, June 04, 2019 12:25 AM > To: devel@edk2.groups.io > Cc: leif.lindh...@linaro.org; ler...@redhat.com; Kinney, Michael D > <michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com>; Ard > Biesheuvel <ard.biesheu...@linaro.org>; Wang, Jian J <jian.j.w...@intel.com>; > Ye, Ting <ting...@intel.com>; Lu, XiaoyuX <xiaoyux...@intel.com> > Subject: [PATCH] CryptoPkg CLANG35: add -std=c99 to dodge OpenSSL C > atomics issue > > Commit c51f8bae7cabe ("CryptoPkg: Fix possible build problem with > Clang") added -std=c99 to the compiler command line of packages > that incorporate parts of OpenSSL, to ensure that the new C atomics > code used by OpenSSL for refcounting (which we don't care about) > does not pull in system C library headers, which we cannot rely > on when (cross)building EDK2 code. > > Unsurprisingly, CLANG35 (which is only defined for ARM and AARCH64) > suffers from the exact same issue, so let's add the same flags > there as well. > > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Ting Ye <ting...@intel.com> > Cc: Xiaoyu Lu <xiaoyux...@intel.com> > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 1 + > CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | 1 + > CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 1 + > CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf | 1 + > CryptoPkg/Library/OpensslLib/OpensslLib.inf | 1 + > CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 + > 6 files changed, 6 insertions(+) > > diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > index 2a581ceac70c..4a76e7e65377 100644 > --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > @@ -97,4 +97,5 @@ > # --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 > > + GCC:*_CLANG35_*_CC_FLAGS = -std=c99 > GCC:*_CLANG38_*_CC_FLAGS = -std=c99 > diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf > b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf > index 8fdc6920ec2e..7827ff87553d 100644 > --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf > +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf > @@ -94,4 +94,5 @@ > # --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 > > + GCC:*_CLANG35_*_CC_FLAGS = -std=c99 > GCC:*_CLANG38_*_CC_FLAGS = -std=c99 > diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > index 9d639fd01eae..c222bcaf2b69 100644 > --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > @@ -102,4 +102,5 @@ > # --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 > > + GCC:*_CLANG35_*_CC_FLAGS = -std=c99 > GCC:*_CLANG38_*_CC_FLAGS = -std=c99 > diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf > b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf > index c9f4abb22aea..987a6c743f2b 100644 > --- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf > +++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf > @@ -99,4 +99,5 @@ > > XCODE:*_*_*_CC_FLAGS = -mmmx -msse > > + GCC:*_CLANG35_*_CC_FLAGS = -std=c99 > GCC:*_CLANG38_*_CC_FLAGS = -std=c99 > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf > b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > index 39749518027c..ac7f6f6ca7df 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > @@ -601,6 +601,7 @@ > GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno- > error=maybe-uninitialized -Wno-error=format -Wno-format -Wno- > error=unused-but-set-variable -DNO_MSABI_VA_FUNCS > GCC:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe- > uninitialized -Wno-error=unused-but-set-variable > GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe- > uninitialized -Wno-format -Wno-error=unused-but-set-variable > + GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized > GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized > > # suppress the following warnings in openssl so we don't break the build > with > warnings-as-errors: > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > index 8c290caacf1b..6fd31cbb3767 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > @@ -557,6 +557,7 @@ > GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno- > error=maybe-uninitialized -Wno-error=format -Wno-format -Wno- > error=unused-but-set-variable -DNO_MSABI_VA_FUNCS > GCC:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe- > uninitialized -Wno-error=unused-but-set-variable > GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe- > uninitialized -Wno-format -Wno-error=unused-but-set-variable > + GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized > GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized > > # suppress the following warnings in openssl so we don't break the build > with > warnings-as-errors: > -- > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#41830): https://edk2.groups.io/g/devel/message/41830 Mute This Topic: https://groups.io/mt/31912226/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-