Date
1 - 5 of 5
[PATCH v2 1/1] CryptoPkg: Fix VS2017 build problem for ARM/AARCH64
Rebecca Cran
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2029
1. CryptPkcs7VerifyEku.c contains internal/x509_int.h header file, this file contains internal/refcount.h file, if _M_ARM or _M_ARM64 defined, it will contains (intrin.h). So we undef these flags for MSVC. It will fix include header dependence problem(intrin.h). 2. ARM with MSFT toolchain was not enabled in BuildOptions, So add CC_FLAGS for ARM/AARCH64 into OpensslLib[Crypto].inf BuildOptions section to fix build problem. Cc: Jian J Wang <jian.j.wang@...> Signed-off-by: Xiaoyu Lu <xiaoyux.lu@...> --- CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 2 ++ CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | 2 ++ CryptoPkg/Library/OpensslLib/OpensslLib.inf | 2 ++ CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 2 ++ 4 files changed, 8 insertions(+) diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf index 4aae2aba95d6..4ed5b8265563 100644 --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf @@ -94,6 +94,8 @@ [BuildOptions] # C4090: 'function' : different 'const' qualifiers # MSFT:*_*_*_CC_FLAGS = /wd4090 + MSFT:*_*_ARM_CC_FLAGS = /wd4090 /U_M_ARM /U_M_ARM64 + MSFT:*_*_AARCH64_CC_FLAGS = /wd4090 /U_M_ARM /U_M_ARM64 # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf index dc28e3a11d48..0e66d935ead8 100644 --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf @@ -84,6 +84,8 @@ [BuildOptions] # C4718: 'function call' : recursive call has no side effects, deleting # MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718 + MSFT:*_*_ARM_CC_FLAGS = /wd4090 /wd4718 /U_M_ARM /U_M_ARM64 + MSFT:*_*_AARCH64_CC_FLAGS = /wd4090 /wd4718 /U_M_ARM /U_M_ARM64 # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index c8ec9454bd90..c43c7bad4982 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -619,6 +619,8 @@ [BuildOptions] # MSFT:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4310 /wd4389 /wd4700 /wd4702 /wd4706 /wd4819 MSFT:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4306 /wd4310 /wd4700 /wd4389 /wd4702 /wd4706 /wd4819 + MSFT:*_*_ARM_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4306 /wd4310 /wd4700 /wd4389 /wd4702 /wd4706 /wd4819 + MSFT:*_*_AARCH64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4306 /wd4310 /wd4700 /wd4389 /wd4702 /wd4706 /wd4819 INTEL:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w INTEL:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf index 2f232e3e1289..594717331f68 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -568,6 +568,8 @@ [BuildOptions] # MSFT:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4310 /wd4389 /wd4700 /wd4702 /wd4706 /wd4819 MSFT:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4306 /wd4310 /wd4700 /wd4389 /wd4702 /wd4706 /wd4819 + MSFT:*_*_ARM_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4306 /wd4310 /wd4700 /wd4389 /wd4702 /wd4706 /wd4819 + MSFT:*_*_AARCH64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4132 /wd4244 /wd4245 /wd4267 /wd4306 /wd4310 /wd4700 /wd4389 /wd4702 /wd4706 /wd4819 INTEL:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w INTEL:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w -- 2.26.2.windows.1 |
|
Laszlo Ersek
+Ard, +Leif, and maybe we should consider this for edk2-stable202005?
toggle quoted message
Show quoted text
Thanks, Laszlo On 05/27/20 18:04, Rebecca Cran wrote:
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2029 |
|
Guomin Jiang
I think it is good to me.
toggle quoted message
Show quoted text
Reviewed-by: Guomin Jiang <guomin.jiang@...> -----Original Message----- |
|
Leif Lindholm
On Wed, May 27, 2020 at 20:34:02 +0200, Laszlo Ersek wrote:
+Ard, +Leif, and maybe we should consider this for edk2-stable202005?Hmm, if this has never worked on MSFT:ARM/AArch64, I don't think it would qualify even during soft freeze? (Whereas if it was a question of making it work on vs2019 afer having worked with vs2017 it would.) Don't get me wrong, I think this is excellent, but I think it can wait until after release. Will have a look at the patch itself on the original thread. Regards, Leif Thanks, |
|
Laszlo Ersek
On 05/28/20 12:15, Leif Lindholm wrote:
On Wed, May 27, 2020 at 20:34:02 +0200, Laszlo Ersek wrote:Thanks for reviewing the situation!+Ard, +Leif, and maybe we should consider this for edk2-stable202005?Hmm, if this has never worked on MSFT:ARM/AArch64, I don't think it Laszlo
|
|