audk/CryptoPkg
Ard Biesheuvel e38eb2595b CryptoPkg/OpensslLib AARCH64: clear XIP CC flags
Commit 0df6c8c157 ("BaseTools/tools_def AARCH64: avoid SIMD registers
in XIP code") updated the compiler flags used by AARCH64 when building
modules (including BASE libraries) that may execute before the MMU is
enabled.

This broke the build for OpensslLib/OpensslLibCrypto because the SIMD
register file is shared with the FPU, and since OpenSSL contains some
references to float/double types (which are mostly unused for UEFI btw),
disabling floating point prevents the compiler from building OpenSSL
at all. So for OpensslLib[Crypto], we need to override the XIP CC flags,
to remove the -mgeneral-regs-only compiler flag again.

When introducing the support for XIP CC flags, we were aware that this
would affect BASE libraries as well, but were not expecting this to
have any performance impact. However, in the case of software crypto,
it makes sense not to needlessly inhibit the compiler's ability to
generate fast code, and even if OpenssLib is a BASE library, it is
guaranteed not to run with the MMU off. So omit -mstrict-align from the
local XIP CC flags override as well.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Long Qin <qin.long@intel.com>
2017-07-15 13:36:58 +01:00
..
Application/Cryptest CryptoPkg: Add PKCS5 PBKDF2 interface for password derivation. 2016-11-02 23:19:01 +08:00
CryptRuntimeDxe CryptoPkg: Convert all .uni files to utf-8 2015-12-15 04:51:26 +00:00
Include CryptoPkg: Correct some minor issues in function comments 2017-04-14 16:40:04 +08:00
Library CryptoPkg/OpensslLib AARCH64: clear XIP CC flags 2017-07-15 13:36:58 +01:00
.gitignore CryptoPkg: Update .gitignore for OpenSSL source masking 2017-03-29 16:05:42 +08:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
CryptoPkg.dec CryptoPkg: Update package version to 0.97 2017-05-05 11:29:22 +08:00
CryptoPkg.dsc CryptoPkg: Update package version to 0.97 2017-05-05 11:29:22 +08:00
CryptoPkg.uni CryptoPkg: Convert all .uni files to utf-8 2015-12-15 04:51:26 +00:00
CryptoPkgExtra.uni CryptoPkg: Convert all .uni files to utf-8 2015-12-15 04:51:26 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00