xref: /openbmc/u-boot/arch/mips/cpu/u-boot-spl.lds (revision ef64e782)
1/* SPDX-License-Identifier: GPL-2.0+ */
2
3MEMORY { .spl_mem : ORIGIN = CONFIG_SPL_TEXT_BASE, \
4		LENGTH = CONFIG_SPL_MAX_SIZE }
5MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
6		LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
7
8OUTPUT_ARCH(mips)
9ENTRY(_start)
10SECTIONS
11{
12	. = 0x00000000;
13
14	. = ALIGN(4);
15	.text : {
16		*(.text*)
17	} > .spl_mem
18
19	. = ALIGN(4);
20	.rodata : {
21		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
22	} > .spl_mem
23
24	. = ALIGN(4);
25	.data : {
26		*(SORT_BY_ALIGNMENT(.data*))
27		*(SORT_BY_ALIGNMENT(.sdata*))
28	} > .spl_mem
29
30#ifdef CONFIG_SPL_DM
31	. = ALIGN(4);
32	.u_boot_list : {
33		KEEP(*(SORT(.u_boot_list*)));
34	} > .spl_mem
35#endif
36
37	. = ALIGN(4);
38	__image_copy_end = .;
39
40	.bss (NOLOAD) : {
41		__bss_start = .;
42		*(.bss*)
43		*(.sbss*)
44		*(COMMON)
45		. = ALIGN(4);
46		__bss_end = .;
47	} > .bss_mem
48
49	.rel.dyn (NOLOAD) : {
50		*(.rel.dyn)
51	}
52
53	.dynsym : {
54		*(.dynsym)
55	}
56
57	.dynbss : {
58		*(.dynbss)
59	}
60
61	.dynstr : {
62		*(.dynstr)
63	}
64
65	.dynamic : {
66		*(.dynamic)
67	}
68
69	.plt : {
70		*(.plt)
71	}
72
73	.interp : {
74		*(.interp)
75	}
76
77	.gnu : {
78		*(.gnu*)
79	}
80
81	.MIPS.stubs : {
82		*(.MIPS.stubs)
83	}
84
85	.hash : {
86		*(.hash)
87	}
88}
89