[SLOF] [PATCH v2] Allow to build SLOF on Little Endian host

Dinar Valeev dvaleev at suse.com
Sat Oct 10 10:34:00 AEDT 2015


On 10/10/2015 01:32 AM, Alexey Kardashevskiy wrote:
> On 10/09/2015 08:11 PM, Dinar Valeev wrote:
>>
>> On 9 Oct 2015 04:56, "Alexey Kardashevskiy" <aik at ozlabs.ru
>> <mailto:aik at ozlabs.ru>> wrote:
>>  >
>>  > On 10/06/2015 11:45 PM, Dinar valeev wrote:
>>  >>
>>  >> From: Dinar Valeev <dvaleev at suse.com <mailto:dvaleev at suse.com>>
>>  >>
>>  >> Don't require cross compiler in order to build SLOF on ppc64le platform.
>>  >> Native compiler is capable to build ELFv1 BE binary. We just need to
>>  >> instruct it how to do it. By adding -mbig and -mabi=elfv1 flags
>>  >>
>>  >> Signed-off-by: Dinar Valeev <dvaleev at suse.com <mailto:dvaleev at suse.com>>
>>  >> ---
>>  >>   make.rules | 10 +++++++---
>>  >>   1 file changed, 7 insertions(+), 3 deletions(-)
>>  >>
>>  >> diff --git a/make.rules b/make.rules
>>  >> index aebc4e3..40b48bc 100644
>>  >> --- a/make.rules
>>  >> +++ b/make.rules
>>  >> @@ -19,7 +19,11 @@
>>  >>   ARCH := $(shell uname -p)
>>  >>
>>  >>   # Auto-detect ppc64
>>  >> -ifeq ($(ARCH), ppc64)
>>  >> +ifeq (ppc64,$(findstring ppc64,$(ARCH)))
>>  >> +  ifeq ($(ARCH), ppc64le)
>>  >> +    EXTRA_CC       = -mbig -mabi=elfv1
>>  >> +    EXTRA_LD       = -mbig
>>  >> +  endif
>>  >>   CROSS          = ""
>>  >>   else
>>  >>   CROSS         ?= powerpc64-linux-
>>  >
>>  >
>>  > The patch is ok but if I may, I'd ask to improve it by making CROSS a
>> highest priority, even on ppc64 as this provides an easy way of using
>> different GCC, can you please add this?
>> I have to check how qemu builds slof. It might set CROSS explicitly.
>>
>> But even without this patch, CROSS was always overridden on BE, no?
> 
> Yes it was and this is exactly what I'd like to change.
I sent V3
> 
> 
>>  >
>>  >
>>  >
>>  >
>>  >> @@ -31,8 +35,8 @@ HOSTCC                ?= gcc
>>  >>   HOSTCFLAGS    = -g -Wall -W -O2 -I. -I../include
>>  >>   DD            = dd
>>  >>
>>  >> -ONLY_CC        = $(CROSS)gcc -m$(CELLSIZE)
>>  >> -ONLY_AS        = $(CROSS)as -m$(CELLSIZE)
>>  >> +ONLY_CC        = $(CROSS)gcc -m$(CELLSIZE) $(EXTRA_CC)
>>  >> +ONLY_AS        = $(CROSS)as -m$(CELLSIZE) $(EXTRA_LD)
>>  >>   ONLY_LD       = $(CROSS)ld -melf$(CELLSIZE)ppc
>>  >>
>>  >>   # Verbose level:
>>  >>
>>  >
>>  >
>>  > --
>>  > Alexey
>>
> 
> 



More information about the SLOF mailing list