audk/ArmVirtPkg/PrePi
Ard Biesheuvel d54e2d6c1e ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: deal with relaxed XIP alignment
Commit b89919ee8f ("BaseTools AARCH64: override XIP module linker
alignment to 32 bytes") updated the various AARCH64 toolchain definitions
to allow SEC, PEI_CORE and PEIM modules to be built with minimal alignment
requirements even when using the AArch64 small code model which normally
requires 4 KB section alignment.

This involves conversion of ADRP instructions into ADR instructions, which
can only be done reliably if the ELF and the PE/COFF sections appear at
the same offset modulo 4 KB.

The ArmVirtPrePiUniCoreRelocatable linker script did not yet take this
into account, so update it by starting the .text section at the next
appropriately aligned offset PECOFF_HEADER_SIZE bytes into the image.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Laszlo Ersek <lersek@redhat.com>
2016-08-02 14:04:00 +02:00
..
AArch64 ArmVirtPkg/PrePi: remove global variable allocation from lowlevel init 2015-11-27 17:06:48 +00:00
Arm ArmVirtPkg/PrePiRelocatable: add ARM support 2015-12-17 17:11:16 +00:00
Scripts ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: deal with relaxed XIP alignment 2016-08-02 14:04:00 +02:00
ArmVirtPrePiUniCoreRelocatable.inf BaseTools GCC: use 'gcc' as the linker command for GCC44 and later 2016-08-02 08:40:43 +02:00
LzmaDecompress.h Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg 2015-05-29 13:50:43 +00:00
PrePi.c ArmVirtPkg/PrePi: remove global variable allocation from lowlevel init 2015-11-27 17:06:48 +00:00
PrePi.h ArmVirtPkg/PrePi: remove global variable allocation from lowlevel init 2015-11-27 17:06:48 +00:00