@ -5,25 +5,41 @@
# SPDX-License-Identifier: GPL-2.0+
#
i f e q ( $( CROSS_COMPILE ) , )
CROSS_COMPILE := mips_4KC-
i f d e f C O N F I G _ S Y S _ B I G _ E N D I A N
32bit-emul := elf32btsmip
64bit-emul := elf64btsmip
32bit-bfd := elf32-tradbigmips
64bit-bfd := elf64-tradbigmips
PLATFORM_CPPFLAGS += -EB
PLATFORM_LDFLAGS += -EB
e n d i f
# Handle special prefix in ELDK 4.0 toolchain
i f n e q ( , $( findstring 4KCle ,$ ( CROSS_COMPILE ) ) )
ENDIANNESS := -EL
i f d e f C O N F I G _ S Y S _ L I T T L E _ E N D I A N
32bit-emul := elf32ltsmip
64bit-emul := elf64ltsmip
32bit-bfd := elf32-tradlittlemips
64bit-bfd := elf64-tradlittlemips
PLATFORM_CPPFLAGS += -EL
PLATFORM_LDFLAGS += -EL
e n d i f
i f d e f C O N F I G _ S Y S _ L I T T L E _ E N D I A N
ENDIANNESS := -EL
i f d e f C O N F I G _ 3 2 B I T
PLATFORM_CPPFLAGS += -mabi= 32
PLATFORM_LDFLAGS += -m $( 32bit-emul)
OBJCOPYFLAGS += -O $( 32bit-bfd)
e n d i f
i f d e f C O N F I G _ S Y S _ B I G _ E N D I A N
ENDIANNESS := -EB
i f d e f C O N F I G _ 6 4 B I T
PLATFORM_CPPFLAGS += -mabi= 64
PLATFORM_LDFLAGS += -m$( 64bit-emul)
OBJCOPYFLAGS += -O $( 64bit-bfd)
e n d i f
# Default to EB if no endianess is configured
ENDIANNESS ?= -EB
cpuflags-$(CONFIG_CPU_MIPS32_R1) += -march= mips32 -Wa,-mips32
cpuflags-$(CONFIG_CPU_MIPS32_R2) += -march= mips32r2 -Wa,-mips32r2
cpuflags-$(CONFIG_CPU_MIPS64_R1) += -march= mips64 -Wa,-mips64
cpuflags-$(CONFIG_CPU_MIPS64_R2) += -march= mips64r2 -Wa,-mips64r2
PLATFORM_CPPFLAGS += $( cpuflags-y)
PLATFORM_CPPFLAGS += -D__MIPS__
@ -49,9 +65,9 @@ __HAVE_ARCH_GENERIC_BOARD := y
# On the other hand, we want PIC in the U-Boot code to relocate it from ROM
# to RAM. $28 is always used as gp.
#
PLATFORM_CPPFLAGS += -G 0 -mabicalls -fpic $( ENDIANNESS)
PLATFORM_CPPFLAGS += -G 0 -mabicalls -fpic
PLATFORM_CPPFLAGS += -msoft-float
PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib $( ENDIANNESS)
PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
LDFLAGS_FINAL += --gc-sections -pie
OBJCOPYFLAGS += -j .text -j .rodata -j .data -j .got