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