From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v5 02/19] xen: arm: drop LDFLAGS_DIRECT emulation specification. Date: Wed, 13 Nov 2013 21:26:52 +0000 Message-ID: <5283EE9C.9020908@linaro.org> References: <1384366234.29080.8.camel@kazak.uk.xensource.com> <1384366285-29277-2-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1384366285-29277-2-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell , xen-devel@lists.xen.org Cc: tim@xen.org, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org Already upstream :) On 11/13/2013 06:11 PM, Ian Campbell wrote: > 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 does is override the default linker script). > > LDFLAGS_DIRECT is also used when linking the intermediate built-in.o files but > -m 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 > --- > 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_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 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 > +LDFLAGS_DIRECT += -EL > > CONFIG_LOAD_ADDRESS ?= 0x80000000 > -- Julien Grall