[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 2/2] 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@xxxxxxxxxx>
 config/arm32.mk |    5 +----
 config/arm64.mk |    2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/config/arm32.mk b/config/arm32.mk
index f64f0c1..683531c 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -10,9 +10,6 @@ CFLAGS += -marm
 HAS_PL011 := y
 # Use only if calling $(LD) directly.
-LDFLAGS_DIRECT_Linux = _linux
 CONFIG_LOAD_ADDRESS ?= 0x80000000
diff --git a/config/arm64.mk b/config/arm64.mk
index b2457eb..55b16da 100644
--- a/config/arm64.mk
+++ b/config/arm64.mk
@@ -7,6 +7,6 @@ CFLAGS += #-marm -march= -mcpu= etc
 HAS_PL011 := y
 # Use only if calling $(LD) directly.
-LDFLAGS_DIRECT += -maarch64elf
 CONFIG_LOAD_ADDRESS ?= 0x80000000

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.