|
@@ -65,11 +65,29 @@ endif
|
|
|
|
|
|
UTS_MACHINE := $(OLDARCH)
|
|
|
|
|
|
+ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
|
|
|
+override CC += -mlittle-endian
|
|
|
+override AS += -mlittle-endian
|
|
|
+override LD += -EL
|
|
|
+override CROSS32CC += -mlittle-endian
|
|
|
+override CROSS32AS += -mlittle-endian
|
|
|
+LDEMULATION := lppc
|
|
|
+GNUTARGET := powerpcle
|
|
|
+MULTIPLEWORD := -mno-multiple
|
|
|
+else
|
|
|
+override CC += -mbig-endian
|
|
|
+override AS += -mbig-endian
|
|
|
+override LD += -EB
|
|
|
+LDEMULATION := ppc
|
|
|
+GNUTARGET := powerpc
|
|
|
+MULTIPLEWORD := -mmultiple
|
|
|
+endif
|
|
|
+
|
|
|
ifeq ($(HAS_BIARCH),y)
|
|
|
override AS += -a$(CONFIG_WORD_SIZE)
|
|
|
-override LD += -m elf$(CONFIG_WORD_SIZE)ppc
|
|
|
+override LD += -m elf$(CONFIG_WORD_SIZE)$(LDEMULATION)
|
|
|
override CC += -m$(CONFIG_WORD_SIZE)
|
|
|
-override AR := GNUTARGET=elf$(CONFIG_WORD_SIZE)-powerpc $(AR)
|
|
|
+override AR := GNUTARGET=elf$(CONFIG_WORD_SIZE)-$(GNUTARGET) $(AR)
|
|
|
endif
|
|
|
|
|
|
LDFLAGS_vmlinux-y := -Bstatic
|
|
@@ -95,7 +113,7 @@ endif
|
|
|
CFLAGS-$(CONFIG_PPC64) := -mtraceback=no -mcall-aixdesc
|
|
|
CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcmodel=medium,-mminimal-toc)
|
|
|
CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mno-pointers-to-nested-functions)
|
|
|
-CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 -mmultiple
|
|
|
+CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 $(MULTIPLEWORD)
|
|
|
|
|
|
ifeq ($(CONFIG_PPC_BOOK3S_64),y)
|
|
|
CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,-mtune=power4)
|