]> git.proxmox.com Git - mirror_edk2.git/commit - BaseTools/Conf/tools_def.template
BaseTools AARCH64: build XIP modules with strict alignment
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 11 Jan 2016 08:50:49 +0000 (08:50 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Mon, 11 Jan 2016 08:50:49 +0000 (08:50 +0000)
commitd764d59849b782c11424f27c2148ecb057533a76
tree4c3e3b0aab6b762fad9dcc68d8830c6fb439f9c2
parent3a02a87f9f4dd5ba6741e64e20e5ab67fe4f303b
BaseTools AARCH64: build XIP modules with strict alignment

GCC for AARCH64 recognizes byte swapping load and store sequences
and may replace them with wider loads or stores combined with rev
instructions. In some cases (i.e., with GCC version 5 and later)
this may result in unaligned accesses, which are not allowed before
we turn the MMU on.

So build any modules or static libraries that may execute with the MMU
off with -mstrict-align. Other modules don't need this switch, so we
can remove it from the CLANG35/AARCH64 common CC flags.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19638 6f19259b-4bc3-4df7-8a09-765794883524
BaseTools/Conf/tools_def.template