public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>,
	Laszlo Ersek <lersek@redhat.com>,
	 "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	 Jian J Wang <jian.j.wang@intel.com>, Ting Ye <ting.ye@intel.com>,
	 Xiaoyu Lu <xiaoyux.lu@intel.com>
Subject: Re: [PATCH] CryptoPkg CLANG35: add -std=c99 to dodge OpenSSL C atomics issue
Date: Mon, 3 Jun 2019 18:39:06 +0200	[thread overview]
Message-ID: <CAKv+Gu86eGfTnxRCJz1hN2DJ+sF=RKcmid5P9en0hP9NDccJPg@mail.gmail.com> (raw)
In-Reply-To: <20190603163234.6jgfhkj6ir4lvaoj@bivouac.eciton.net>

On Mon, 3 Jun 2019 at 18:32, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>
> On Mon, Jun 03, 2019 at 06:24:42PM +0200, Ard Biesheuvel wrote:
> > 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>
>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>


Pushed as acfb90911840..f03859ea6c8f

Thanks all

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

      reply	other threads:[~2019-06-03 16:39 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
2019-06-03 16:32 ` Leif Lindholm
2019-06-03 16:39   ` Ard Biesheuvel [this message]

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='CAKv+Gu86eGfTnxRCJz1hN2DJ+sF=RKcmid5P9en0hP9NDccJPg@mail.gmail.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