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