From: "Wang, Jian J" <jian.j.wang@intel.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "leif.lindholm@linaro.org" <leif.lindholm@linaro.org>,
"lersek@redhat.com" <lersek@redhat.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Ye, Ting" <ting.ye@intel.com>,
"Lu, XiaoyuX" <xiaoyux.lu@intel.com>
Subject: Re: [PATCH] CryptoPkg CLANG35: add -std=c99 to dodge OpenSSL C atomics issue
Date: Mon, 3 Jun 2019 16:26:46 +0000 [thread overview]
Message-ID: <D827630B58408649ACB04F44C51000362590F58D@SHSMSX107.ccr.corp.intel.com> (raw)
In-Reply-To: <20190603162442.3459-1-ard.biesheuvel@linaro.org>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
> Sent: Tuesday, June 04, 2019 12:25 AM
> To: devel@edk2.groups.io
> Cc: leif.lindholm@linaro.org; lersek@redhat.com; Kinney, Michael D
> <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Ard
> Biesheuvel <ard.biesheuvel@linaro.org>; Wang, Jian J <jian.j.wang@intel.com>;
> Ye, Ting <ting.ye@intel.com>; Lu, XiaoyuX <xiaoyux.lu@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.wang@intel.com>
> Cc: Ting Ye <ting.ye@intel.com>
> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@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
next prev parent reply other threads:[~2019-06-03 16:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-03 16:24 [PATCH] CryptoPkg CLANG35: add -std=c99 to dodge OpenSSL C atomics issue Ard Biesheuvel
2019-06-03 16:26 ` Wang, Jian J [this message]
2019-06-03 16:32 ` Leif Lindholm
2019-06-03 16:39 ` Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D827630B58408649ACB04F44C51000362590F58D@SHSMSX107.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox