xref: /openbmc/u-boot/arch/mips/cpu/u-boot.lds (revision 9fc2ed40)
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*)
23	}
24
25	. = ALIGN(4);
26	.rodata : {
27		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
28	}
29
30	. = ALIGN(4);
31	.data : {
32		*(.data*)
33	}
34
35	. = .;
36	_gp = ALIGN(16) + 0x7ff0;
37
38	.got : {
39		*(.got)
40	}
41
42	num_got_entries = SIZEOF(.got) >> PTR_COUNT_SHIFT;
43
44	. = ALIGN(4);
45	.sdata : {
46		*(.sdata*)
47	}
48
49	. = ALIGN(4);
50	.u_boot_list : {
51		KEEP(*(SORT(.u_boot_list*)));
52	}
53
54	. = ALIGN(4);
55	__image_copy_end = .;
56	__init_end = .;
57
58	.rel.dyn : {
59		__rel_dyn_start = .;
60		*(.rel.dyn)
61		__rel_dyn_end = .;
62	}
63
64	_end = .;
65
66	.bss __rel_dyn_start (OVERLAY) : {
67		__bss_start = .;
68		*(.sbss.*)
69		*(.bss.*)
70		*(COMMON)
71		. = ALIGN(4);
72		__bss_end = .;
73	}
74
75	.dynsym _end : {
76		*(.dynsym)
77	}
78
79	.dynbss : {
80		*(.dynbss)
81	}
82
83	.dynstr : {
84		*(.dynstr)
85	}
86
87	.dynamic : {
88		*(.dynamic)
89	}
90
91	.plt : {
92		*(.plt)
93	}
94
95	.interp : {
96		*(.interp)
97	}
98
99	.gnu : {
100		*(.gnu*)
101	}
102
103	.MIPS.stubs : {
104		*(.MIPS.stubs)
105	}
106
107	.hash : {
108		*(.hash)
109	}
110}
111