]> git.proxmox.com Git - mirror_edk2.git/commit
BaseTools/tools_def AARCH64: avoid SIMD registers in XIP code
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 13 Jul 2017 12:44:27 +0000 (13:44 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 14 Jul 2017 16:28:49 +0000 (17:28 +0100)
commit0df6c8c157af9510e21bff7bb8aa1f461d04707b
treecff79a3022e9d8f0994f026a4db632c90aad187b
parent6d73863b5464f382af2a17b2c2ec1abc550d0af5
BaseTools/tools_def AARCH64: avoid SIMD registers in XIP code

XIP code may execute with the MMU off, in which case all memory accesses
should be strictly aligned to their size. Some versions of GCC violate
this restriction even when -mstrict-align is passed, when performing
loads and stores that involve SIMD registers. This is clearly a bug in
the compiler, but we can easily work around it by avoiding SIMD registers
altogether when building code that may execute in such a context. So add
-mgeneral-regs-only to the AARCH64 XIP CC flags.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
BaseTools/Conf/tools_def.template