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>
This commit is contained in:
Ian Campbell committed 2013-07-19 14:56:42 +01:00
1 parent bbccf0d088
commit 2a6327bf2b
2 files changed
+2 -5

No files matched your search

+1 -4
View File
@@ -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
+1 -1
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.