Blame view

arch/mips/config.mk 1.94 KB
d41ce506b   Eric Lee   Initial Release, ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  #
  # (C) Copyright 2003
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  #
  # SPDX-License-Identifier:	GPL-2.0+
  #
  
  ifdef CONFIG_SYS_BIG_ENDIAN
  32bit-emul		:= elf32btsmip
  64bit-emul		:= elf64btsmip
  32bit-bfd		:= elf32-tradbigmips
  64bit-bfd		:= elf64-tradbigmips
  PLATFORM_CPPFLAGS	+= -EB
  PLATFORM_LDFLAGS	+= -EB
  endif
  
  ifdef CONFIG_SYS_LITTLE_ENDIAN
  32bit-emul		:= elf32ltsmip
  64bit-emul		:= elf64ltsmip
  32bit-bfd		:= elf32-tradlittlemips
  64bit-bfd		:= elf64-tradlittlemips
  PLATFORM_CPPFLAGS	+= -EL
  PLATFORM_LDFLAGS	+= -EL
  endif
  
  ifdef CONFIG_32BIT
  PLATFORM_CPPFLAGS	+= -mabi=32
  PLATFORM_LDFLAGS	+= -m $(32bit-emul)
  OBJCOPYFLAGS		+= -O $(32bit-bfd)
  endif
  
  ifdef CONFIG_64BIT
  PLATFORM_CPPFLAGS	+= -mabi=64
  PLATFORM_LDFLAGS	+= -m$(64bit-emul)
  OBJCOPYFLAGS		+= -O $(64bit-bfd)
  endif
  
  PLATFORM_CPPFLAGS += -D__MIPS__
  PLATFORM_ELFENTRY = "__start"
  PLATFORM_ELFFLAGS += -B mips $(OBJCOPYFLAGS)
  
  #
  # From Linux arch/mips/Makefile
  #
  # GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
  # code since it only slows down the whole thing.  At some point we might make
  # use of global pointer optimizations but their use of $28 conflicts with
  # the current pointer optimization.
  #
  # The DECStation requires an ECOFF kernel for remote booting, other MIPS
  # machines may also.  Since BFD is incredibly buggy with respect to
  # crossformat linking we rely on the elf2ecoff tool for format conversion.
  #
  # cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe
  # cflags-y			+= -msoft-float
  # LDFLAGS_vmlinux		+= -G 0 -static -n -nostdlib
  # MODFLAGS			+= -mlong-calls
  #
  ifndef CONFIG_SPL_BUILD
  OBJCOPYFLAGS			+= -j .got -j .rel -j .padding -j .dtb.init.rodata
  LDFLAGS_FINAL			+= --emit-relocs
  endif
  
  PLATFORM_CPPFLAGS		+= -G 0 -mno-abicalls -fno-pic
  PLATFORM_CPPFLAGS		+= -msoft-float
  PLATFORM_LDFLAGS		+= -G 0 -static -n -nostdlib
  PLATFORM_RELFLAGS		+= -ffunction-sections -fdata-sections
  LDFLAGS_FINAL			+= --gc-sections
  OBJCOPYFLAGS			+= -j .text -j .rodata -j .data -j .u_boot_list