audk/ArmVirtPkg
Ard Biesheuvel 87ee6390cb ArmVirtPkg ARM: make relocatable PrePi users build with CLANG35
The clang developers have made a backward incompatible change to the
command line arguments, and have replaced '-mllvm -arm-use-movt=0'
with '-mno-movt'. This does not matter for most ARM platforms, and
therefore it has been removed from the default CLANG35/ARM CC flags
in patch 1c63516075 ("BaseTools CLANG35: drop problematic use-movt
and save-temps options"), but as it turns out, the relocatable PrePi
implementation used by ArmVirtQemuKernel and ArmVirtXen will fail to
build if it contains MOVT/MOVW pairs, due to the fact that these are
not runtime relocatable under ELF.

Since they are runtime relocatable under PE/COFF, and GenFw does the
right thing when encountering them, selectively controlling their
use is more appropriate than disabling them altogether. Therefore,
this patch adds the -mno-movt argument only for the platforms that
use the relocatable PrePi, and only for the module types that may
be pulled into its build.

In addition, switch to the SEC type version of ArmLib, so that
the relocatable PrePi only depends on BASE and SEC type libraries.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-08-03 15:45:23 +02:00
..
FdtClientDxe ArmVirtPkg/VirtFdtDxe: move FDT config table installation to FdtClientDxe 2016-04-13 17:26:06 +02:00
HighMemDxe ArmVirtPkg/HighMemDxe: allow patchable PCD for PcdSystemMemoryBase 2016-07-12 15:19:42 +02:00
Include ArmVirtPkg: introduce FdtClientProtocol 2016-04-11 18:12:21 +02:00
Library ArmVirtPkg/PlatformBootManagerLib: remove stale FvFile boot options 2016-07-13 22:44:34 +02:00
PciHostBridgeDxe ArmVirtPkg/PciHostBridgeDxe: move to FDT client protocol 2016-04-12 17:59:05 +02:00
PrePi ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: deal with relaxed XIP alignment 2016-08-02 14:04:00 +02:00
VirtioFdtDxe ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
XenAcpiPlatformDxe ArmVirtPkg/ArmVirtXen: Add ACPI support for Virt Xen ARM 2016-06-28 13:37:25 +02:00
XenioFdtDxe ArmVirtPkg/ArmVirtXen: move from VirtFdtDxe to new XenioFdtDxe driver 2016-04-13 17:26:06 +02:00
ArmVirt.dsc.inc ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS 2016-05-06 10:04:50 +02:00
ArmVirtPkg.dec ArmVirtPkg/VirtFdtDxe: remove handling of fw_cfg DT node 2016-04-12 11:07:36 +02:00
ArmVirtQemu.dsc ArmPkg ArmVirtPkg MdeModulePkg: switch to separate ArmMmuLib 2016-07-07 14:33:47 +02:00
ArmVirtQemu.fdf ArmVirtPkg: factor out Rules FDF section 2016-07-12 15:19:42 +02:00
ArmVirtQemuFvMain.fdf.inc ArmVirtPkg: add name GUIDs to FvMain instances 2016-07-12 15:19:42 +02:00
ArmVirtQemuKernel.dsc ArmVirtPkg ARM: make relocatable PrePi users build with CLANG35 2016-08-03 15:45:23 +02:00
ArmVirtQemuKernel.fdf ArmVirtPkg: factor out Rules FDF section 2016-07-12 15:19:42 +02:00
ArmVirtRules.fdf.inc ArmVirtPkg: factor out Rules FDF section 2016-07-12 15:19:42 +02:00
ArmVirtXen.dsc ArmVirtPkg ARM: make relocatable PrePi users build with CLANG35 2016-08-03 15:45:23 +02:00
ArmVirtXen.fdf ArmVirtPkg: add name GUIDs to FvMain instances 2016-07-12 15:19:42 +02:00
Contributions.txt ArmVirtPkg: add "Contributions.txt" and "License.txt" 2015-06-08 22:00:36 +00:00
License.txt ArmVirtPkg: add "Contributions.txt" and "License.txt" 2015-06-08 22:00:36 +00:00
VarStore.fdf.inc ArmVirtPkg: add FDF definition for empty varstore 2016-06-23 16:07:38 +02:00