xref: /rk3399_rockchip-uboot/arch/mips/config.mk (revision 837cad1e47d2e8a81956140d37ee23f5d3c07de6)
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
8*837cad1eSDaniel Schwierzeckifdef CONFIG_SYS_BIG_ENDIAN
9*837cad1eSDaniel Schwierzeck32bit-emul		:= elf32btsmip
10*837cad1eSDaniel Schwierzeck64bit-emul		:= elf64btsmip
11*837cad1eSDaniel Schwierzeck32bit-bfd		:= elf32-tradbigmips
12*837cad1eSDaniel Schwierzeck64bit-bfd		:= elf64-tradbigmips
13*837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -EB
14*837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -EB
152c0e3de3SDaniel Schwierzeckendif
162c0e3de3SDaniel Schwierzeck
172c0e3de3SDaniel Schwierzeckifdef CONFIG_SYS_LITTLE_ENDIAN
18*837cad1eSDaniel Schwierzeck32bit-emul		:= elf32ltsmip
19*837cad1eSDaniel Schwierzeck64bit-emul		:= elf64ltsmip
20*837cad1eSDaniel Schwierzeck32bit-bfd		:= elf32-tradlittlemips
21*837cad1eSDaniel Schwierzeck64bit-bfd		:= elf64-tradlittlemips
22*837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -EL
23*837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -EL
242c0e3de3SDaniel Schwierzeckendif
252c0e3de3SDaniel Schwierzeck
26*837cad1eSDaniel Schwierzeckifdef CONFIG_32BIT
27*837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -mabi=32
28*837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -m $(32bit-emul)
29*837cad1eSDaniel SchwierzeckOBJCOPYFLAGS		+= -O $(32bit-bfd)
302c0e3de3SDaniel Schwierzeckendif
312c0e3de3SDaniel Schwierzeck
32*837cad1eSDaniel Schwierzeckifdef CONFIG_64BIT
33*837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -mabi=64
34*837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -m$(64bit-emul)
35*837cad1eSDaniel SchwierzeckOBJCOPYFLAGS		+= -O $(64bit-bfd)
36*837cad1eSDaniel Schwierzeckendif
37*837cad1eSDaniel Schwierzeck
38*837cad1eSDaniel Schwierzeckcpuflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,-mips32
39*837cad1eSDaniel Schwierzeckcpuflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -Wa,-mips32r2
40*837cad1eSDaniel Schwierzeckcpuflags-$(CONFIG_CPU_MIPS64_R1) += -march=mips64 -Wa,-mips64
41*837cad1eSDaniel Schwierzeckcpuflags-$(CONFIG_CPU_MIPS64_R2) += -march=mips64r2 -Wa,-mips64r2
42*837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS += $(cpuflags-y)
432c0e3de3SDaniel Schwierzeck
4490f984e3SMasahiro YamadaPLATFORM_CPPFLAGS += -D__MIPS__
45ea0364f1SPeter Tyser
469f0868ffSPaul Burton__HAVE_ARCH_GENERIC_BOARD := y
479f0868ffSPaul Burton
48ea0364f1SPeter Tyser#
49ea0364f1SPeter Tyser# From Linux arch/mips/Makefile
50ea0364f1SPeter Tyser#
51ea0364f1SPeter Tyser# GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
52ea0364f1SPeter Tyser# code since it only slows down the whole thing.  At some point we might make
53ea0364f1SPeter Tyser# use of global pointer optimizations but their use of $28 conflicts with
54ea0364f1SPeter Tyser# the current pointer optimization.
55ea0364f1SPeter Tyser#
56ea0364f1SPeter Tyser# The DECStation requires an ECOFF kernel for remote booting, other MIPS
57ea0364f1SPeter Tyser# machines may also.  Since BFD is incredibly buggy with respect to
58ea0364f1SPeter Tyser# crossformat linking we rely on the elf2ecoff tool for format conversion.
59ea0364f1SPeter Tyser#
60ea0364f1SPeter Tyser# cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe
61ea0364f1SPeter Tyser# cflags-y			+= -msoft-float
62ea0364f1SPeter Tyser# LDFLAGS_vmlinux		+= -G 0 -static -n -nostdlib
63ea0364f1SPeter Tyser# MODFLAGS			+= -mlong-calls
64ea0364f1SPeter Tyser#
65ea0364f1SPeter Tyser# On the other hand, we want PIC in the U-Boot code to relocate it from ROM
66ea0364f1SPeter Tyser# to RAM. $28 is always used as gp.
67ea0364f1SPeter Tyser#
68*837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS		+= -G 0 -mabicalls -fpic
69ea0364f1SPeter TyserPLATFORM_CPPFLAGS		+= -msoft-float
70*837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS		+= -G 0 -static -n -nostdlib
71660da094SDaniel SchwierzeckPLATFORM_RELFLAGS		+= -ffunction-sections -fdata-sections
7204380c65SGabor JuhosLDFLAGS_FINAL			+= --gc-sections -pie
7379fd7e64SDaniel SchwierzeckOBJCOPYFLAGS			+= -j .text -j .rodata -j .data -j .got
7479fd7e64SDaniel SchwierzeckOBJCOPYFLAGS			+= -j .u_boot_list -j .rel.dyn
75