command: Remove the cmd_tbl_t typedef
[oweals/u-boot.git] / arch / mips / cpu / u-boot.lds
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2003
4  * Wolfgang Denk Engineering, <wd@denx.de>
5  */
6
7 OUTPUT_ARCH(mips)
8 ENTRY(_start)
9 SECTIONS
10 {
11         . = 0x00000000;
12
13         . = ALIGN(4);
14         .text : {
15                 __text_start = .;
16                 *(.text*)
17                 __text_end = .;
18         }
19
20         . = ALIGN(4);
21         .rodata : {
22                 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
23         }
24
25         . = ALIGN(4);
26         .data : {
27                 *(.data*)
28         }
29
30         . = ALIGN(4);
31         .sdata : {
32                 *(.sdata*)
33         }
34
35         . = ALIGN(4);
36         .u_boot_list : {
37                 KEEP(*(SORT(.u_boot_list*)));
38         }
39
40         . = ALIGN(4);
41         __image_copy_end = .;
42         __init_end = .;
43
44         .data.reloc : {
45                 __rel_start = .;
46                 /*
47                  * Space for relocation table
48                  * This needs to be filled so that the
49                  * mips-reloc tool can overwrite the content.
50                  * An invalid value is left at the start of the
51                  * section to abort relocation if the table
52                  * has not been filled in.
53                  */
54                 LONG(0xFFFFFFFF);
55                 FILL(0);
56                 . += CONFIG_MIPS_RELOCATION_TABLE_SIZE - 4;
57         }
58
59         . = ALIGN(4);
60         _end = .;
61
62         .bss __rel_start (OVERLAY) : {
63                 __bss_start = .;
64                 *(.sbss.*)
65                 *(.bss.*)
66                 *(COMMON)
67                 . = ALIGN(4);
68                 __bss_end = .;
69         }
70
71         /* These mark the ABI of U-Boot for debuggers. */
72         .mdebug.abi32 : {
73                 KEEP(*(.mdebug.abi32))
74         }
75         .mdebug.abi64 : {
76                 KEEP(*(.mdebug.abi64))
77         }
78
79         /* This is the MIPS specific mdebug section. */
80         .mdebug : { *(.mdebug) }
81
82         /* Stabs debugging sections.  */
83         .stab 0 : { *(.stab) }
84         .stabstr 0 : { *(.stabstr) }
85         .stab.excl 0 : { *(.stab.excl) }
86         .stab.exclstr 0 : { *(.stab.exclstr) }
87         .stab.index 0 : { *(.stab.index) }
88         .stab.indexstr 0 : { *(.stab.indexstr) }
89         .comment 0 : { *(.comment) }
90
91         /*
92          * DWARF debug sections.
93          * Symbols in the DWARF debugging sections are relative to
94          * the beginning of the section so we begin them at 0.
95          */
96         /* DWARF 1 */
97         .debug 0 : { *(.debug) }
98         .line 0 : { *(.line) }
99         /* GNU DWARF 1 extensions */
100         .debug_srcinfo 0 : { *(.debug_srcinfo) }
101         .debug_sfnames 0 : { *(.debug_sfnames) }
102         /* DWARF 1.1 and DWARF 2 */
103         .debug_aranges 0 : { *(.debug_aranges) }
104         .debug_pubnames 0 : { *(.debug_pubnames) }
105         /* DWARF 2 */
106         .debug_info 0 : {
107                 *(.debug_info
108                 .gnu.linkonce.wi.*)
109         }
110         .debug_abbrev 0 : { *(.debug_abbrev) }
111         .debug_line 0 : { *(.debug_line) }
112         .debug_frame 0 : { *(.debug_frame) }
113         .debug_str 0 : { *(.debug_str) }
114         .debug_loc 0 : { *(.debug_loc) }
115         .debug_macinfo 0 : { *(.debug_macinfo) }
116         .debug_pubtypes 0 : { *(.debug_pubtypes) }
117         /* DWARF 3 */
118         .debug_ranges 0 : { *(.debug_ranges) }
119         /* SGI/MIPS DWARF 2 extensions */
120         .debug_weaknames 0 : { *(.debug_weaknames) }
121         .debug_funcnames 0 : { *(.debug_funcnames) }
122         .debug_typenames 0 : { *(.debug_typenames) }
123         .debug_varnames 0 : { *(.debug_varnames) }
124         /* GNU DWARF 2 extensions */
125         .debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) }
126         .debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) }
127         /* DWARF 4 */
128         .debug_types 0 : { *(.debug_types) }
129         /* DWARF 5 */
130         .debug_macro 0 : { *(.debug_macro) }
131         .debug_addr 0 : { *(.debug_addr) }
132
133         /DISCARD/ : {
134                 /* ABI crap starts here */
135                 *(.MIPS.abiflags)
136                 *(.MIPS.options)
137                 *(.options)
138                 *(.pdr)
139                 *(.reginfo)
140                 *(.eh_frame)
141         }
142 }