CryptoPkg CLANG35: add -std=c99 to dodge OpenSSL C atomics issue
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 3 Jun 2019 16:19:41 +0000 (18:19 +0200)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 3 Jun 2019 16:33:53 +0000 (18:33 +0200)
Commit c51f8bae7cabe ("CryptoPkg: Fix possible build problem with
Clang") added -std=c99 to the CLANG38 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.

Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
CryptoPkg/Library/OpensslLib/OpensslLib.inf
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf

index 2a581ce..4a76e7e 100644 (file)
@@ -97,4 +97,5 @@
   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"\r
   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1\r
 \r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99\r
index 8fdc692..7827ff8 100644 (file)
@@ -94,4 +94,5 @@
   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"\r
   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1\r
 \r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99\r
index 9d639fd..c222bca 100644 (file)
   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"\r
   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1\r
 \r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99\r
index c9f4abb..987a6c7 100644 (file)
@@ -99,4 +99,5 @@
 \r
   XCODE:*_*_*_CC_FLAGS = -mmmx -msse\r
 \r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99\r
index 3974951..ac7f6f6 100644 (file)
   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\r
   GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=unused-but-set-variable\r
   GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable\r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized\r
 \r
   # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:\r
index 8c290ca..6fd31cb 100644 (file)
   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\r
   GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=unused-but-set-variable\r
   GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable\r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized\r
 \r
   # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:\r