xref: /openbmc/u-boot/arch/mips/cpu/u-boot.lds (revision c2012cb4)
1/*
2 * (C) Copyright 2003
3 * Wolfgang Denk Engineering, <wd@denx.de>
4 *
5 * SPDX-License-Identifier:	GPL-2.0+
6 */
7
8#if defined(CONFIG_64BIT)
9#define PTR_COUNT_SHIFT	3
10#else
11#define PTR_COUNT_SHIFT	2
12#endif
13
14OUTPUT_ARCH(mips)
15ENTRY(_start)
16SECTIONS
17{
18	. = 0x00000000;
19
20	. = ALIGN(4);
21	.text : {
22		__text_start = .;
23		*(.text*)
24		__text_end = .;
25	}
26
27	. = ALIGN(4);
28	.rodata : {
29		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
30	}
31
32	. = ALIGN(4);
33	.data : {
34		*(.data*)
35	}
36
37	. = ALIGN(4);
38	.sdata : {
39		*(.sdata*)
40	}
41
42	. = ALIGN(4);
43	.u_boot_list : {
44		KEEP(*(SORT(.u_boot_list*)));
45	}
46
47	. = ALIGN(4);
48	__image_copy_end = .;
49	__init_end = .;
50
51	/*
52	 * .rel must come last so that the mips-relocs tool can shrink
53	 * the section size & the PT_LOAD program header filesz.
54	 */
55	.rel : {
56		__rel_start = .;
57		BYTE(0x0)
58		. += (32 * 1024) - 1;
59	}
60
61	_end = .;
62
63	.bss __rel_start (OVERLAY) : {
64		__bss_start = .;
65		*(.sbss.*)
66		*(.bss.*)
67		*(COMMON)
68		. = ALIGN(4);
69		__bss_end = .;
70	}
71
72	.dynsym _end : {
73		*(.dynsym)
74	}
75
76	.dynbss : {
77		*(.dynbss)
78	}
79
80	.dynstr : {
81		*(.dynstr)
82	}
83
84	.dynamic : {
85		*(.dynamic)
86	}
87
88	.plt : {
89		*(.plt)
90	}
91
92	.interp : {
93		*(.interp)
94	}
95
96	.gnu : {
97		*(.gnu*)
98	}
99
100	.MIPS.stubs : {
101		*(.MIPS.stubs)
102	}
103
104	.hash : {
105		*(.hash)
106	}
107}
108