]> git.sur5r.net Git - u-boot/blob - arch/mips/cpu/u-boot.lds
bd5536f0137466a7c849c85829a872adde6dcc6c
[u-boot] / 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 #if defined(CONFIG_64BIT)
9 #define PTR_COUNT_SHIFT 3
10 #else
11 #define PTR_COUNT_SHIFT 2
12 #endif
13
14 OUTPUT_ARCH(mips)
15 ENTRY(_start)
16 SECTIONS
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 }