aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-04-26 11:58:47 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-07-19 14:56:42 +0100
commit2a6327bf2bfaf5de5e07aed583d2c337c9d368c0 (patch)
tree5f884a40782f5deaf89b36ac07a3c612255feaf9 /config
parentbbccf0d088d2041d95ede1d59fc195205f932f38 (diff)
downloadxen-2a6327bf2bfaf5de5e07aed583d2c337c9d368c0.tar.gz
xen-2a6327bf2bfaf5de5e07aed583d2c337c9d368c0.tar.bz2
xen-2a6327bf2bfaf5de5e07aed583d2c337c9d368c0.zip
xen: arm: drop LDFLAGS_DIRECT emulation specification.
The current -maarch64elf fails when cross-building arm64 on Ubuntu Raring due to a missing file "ldscripts/aarch64elf.xr". This is undoubtedly an Ubuntu gcc bug, hwever when investigating I found that this option was not necessary at all since we provide an explicit linker script when linking the hypervisor (AFAICT all -m<foo> does is override the default linker script). LDFLAGS_DIRECT is also used when linking the intermediate built-in.o files but -m<emulatin> is not needed for this since it isn't linking the final image and we are calling the linker with the correct, cross if necessary, name. However it does appear to be potentially useful to supply -EL in both cases to ensure that we get little endian images. (I just happened to spot that Linux does this, for both arm and arm64, although I expect we are unlikely to trip over such toolchains these days). Tested with cross-builds of arm32 and arm64 as well as a native arm32 build. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'config')
-rw-r--r--config/arm32.mk5
-rw-r--r--config/arm64.mk2
2 files changed, 2 insertions, 5 deletions
diff --git a/config/arm32.mk b/config/arm32.mk
index 3bc642df2a..8e21158e18 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -13,9 +13,6 @@ HAS_PL011 := y
HAS_EXYNOS4210 := y
# Use only if calling $(LD) directly.
-#LDFLAGS_DIRECT_OpenBSD = _obsd
-#LDFLAGS_DIRECT_FreeBSD = _fbsd
-LDFLAGS_DIRECT_Linux = _linux
-LDFLAGS_DIRECT += -marmelf$(LDFLAGS_DIRECT_$(XEN_OS))_eabi
+LDFLAGS_DIRECT += -EL
CONFIG_LOAD_ADDRESS ?= 0x80000000
diff --git a/config/arm64.mk b/config/arm64.mk
index 1130630256..49055fa3db 100644
--- a/config/arm64.mk
+++ b/config/arm64.mk
@@ -9,6 +9,6 @@ CFLAGS += #-marm -march= -mcpu= etc
HAS_PL011 := y
# Use only if calling $(LD) directly.
-LDFLAGS_DIRECT += -maarch64elf
+LDFLAGS_DIRECT += -EL
CONFIG_LOAD_ADDRESS ?= 0x80000000