xref: /rk3399_rockchip-uboot/arch/mips/config.mk (revision 90f984e397a14d9b77128feff582a44dece4fbaf)
1ea0364f1SPeter Tyser#
2ea0364f1SPeter Tyser# (C) Copyright 2003
3ea0364f1SPeter Tyser# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4ea0364f1SPeter Tyser#
51a459660SWolfgang Denk# SPDX-License-Identifier:	GPL-2.0+
6ea0364f1SPeter Tyser#
7ea0364f1SPeter Tyser
89b6e2c36SMasahiro Yamadaifeq ($(CROSS_COMPILE),)
99b6e2c36SMasahiro YamadaCROSS_COMPILE := mips_4KC-
109b6e2c36SMasahiro Yamadaendif
11ea0364f1SPeter Tyser
122c0e3de3SDaniel Schwierzeck# Handle special prefix in ELDK 4.0 toolchain
132c0e3de3SDaniel Schwierzeckifneq (,$(findstring 4KCle,$(CROSS_COMPILE)))
142c0e3de3SDaniel SchwierzeckENDIANNESS := -EL
152c0e3de3SDaniel Schwierzeckendif
162c0e3de3SDaniel Schwierzeck
172c0e3de3SDaniel Schwierzeckifdef CONFIG_SYS_LITTLE_ENDIAN
182c0e3de3SDaniel SchwierzeckENDIANNESS := -EL
192c0e3de3SDaniel Schwierzeckendif
202c0e3de3SDaniel Schwierzeck
212c0e3de3SDaniel Schwierzeckifdef CONFIG_SYS_BIG_ENDIAN
222c0e3de3SDaniel SchwierzeckENDIANNESS := -EB
232c0e3de3SDaniel Schwierzeckendif
242c0e3de3SDaniel Schwierzeck
252c0e3de3SDaniel Schwierzeck# Default to EB if no endianess is configured
262c0e3de3SDaniel SchwierzeckENDIANNESS ?= -EB
272c0e3de3SDaniel Schwierzeck
28*90f984e3SMasahiro YamadaPLATFORM_CPPFLAGS += -D__MIPS__
29ea0364f1SPeter Tyser
309f0868ffSPaul Burton__HAVE_ARCH_GENERIC_BOARD := y
319f0868ffSPaul Burton
32ea0364f1SPeter Tyser#
33ea0364f1SPeter Tyser# From Linux arch/mips/Makefile
34ea0364f1SPeter Tyser#
35ea0364f1SPeter Tyser# GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
36ea0364f1SPeter Tyser# code since it only slows down the whole thing.  At some point we might make
37ea0364f1SPeter Tyser# use of global pointer optimizations but their use of $28 conflicts with
38ea0364f1SPeter Tyser# the current pointer optimization.
39ea0364f1SPeter Tyser#
40ea0364f1SPeter Tyser# The DECStation requires an ECOFF kernel for remote booting, other MIPS
41ea0364f1SPeter Tyser# machines may also.  Since BFD is incredibly buggy with respect to
42ea0364f1SPeter Tyser# crossformat linking we rely on the elf2ecoff tool for format conversion.
43ea0364f1SPeter Tyser#
44ea0364f1SPeter Tyser# cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe
45ea0364f1SPeter Tyser# cflags-y			+= -msoft-float
46ea0364f1SPeter Tyser# LDFLAGS_vmlinux		+= -G 0 -static -n -nostdlib
47ea0364f1SPeter Tyser# MODFLAGS			+= -mlong-calls
48ea0364f1SPeter Tyser#
49ea0364f1SPeter Tyser# On the other hand, we want PIC in the U-Boot code to relocate it from ROM
50ea0364f1SPeter Tyser# to RAM. $28 is always used as gp.
51ea0364f1SPeter Tyser#
522c0e3de3SDaniel SchwierzeckPLATFORM_CPPFLAGS		+= -G 0 -mabicalls -fpic $(ENDIANNESS)
53ea0364f1SPeter TyserPLATFORM_CPPFLAGS		+= -msoft-float
542c0e3de3SDaniel SchwierzeckPLATFORM_LDFLAGS		+= -G 0 -static -n -nostdlib $(ENDIANNESS)
55660da094SDaniel SchwierzeckPLATFORM_RELFLAGS		+= -ffunction-sections -fdata-sections
5604380c65SGabor JuhosLDFLAGS_FINAL			+= --gc-sections -pie
5779fd7e64SDaniel SchwierzeckOBJCOPYFLAGS			+= -j .text -j .rodata -j .data -j .got
5879fd7e64SDaniel SchwierzeckOBJCOPYFLAGS			+= -j .u_boot_list -j .rel.dyn
59