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