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