mips: enable support for appending dtb to spl binary
[oweals/u-boot.git] / arch / mips / cpu / u-boot-spl.lds
1 /* SPDX-License-Identifier: GPL-2.0+ */
2
3 MEMORY { .spl_mem : ORIGIN = IMAGE_TEXT_BASE, \
4                 LENGTH = IMAGE_MAX_SIZE }
5 MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
6                 LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
7
8 OUTPUT_ARCH(mips)
9 ENTRY(_start)
10 SECTIONS
11 {
12         . = 0x00000000;
13
14         . = ALIGN(4);
15         .text : {
16                 *(.text*)
17         } > .spl_mem
18
19         . = ALIGN(4);
20         .rodata : {
21                 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
22         } > .spl_mem
23
24         . = ALIGN(4);
25         .data : {
26                 *(SORT_BY_ALIGNMENT(.data*))
27                 *(SORT_BY_ALIGNMENT(.sdata*))
28         } > .spl_mem
29
30 #ifdef CONFIG_SPL_DM
31         . = ALIGN(4);
32         .u_boot_list : {
33                 KEEP(*(SORT(.u_boot_list*)));
34         } > .spl_mem
35 #endif
36
37         . = ALIGN(4);
38         __image_copy_end = .;
39
40         _image_binary_end = .;
41
42         .bss (NOLOAD) : {
43                 __bss_start = .;
44                 *(.bss*)
45                 *(.sbss*)
46                 *(COMMON)
47                 . = ALIGN(4);
48                 __bss_end = .;
49         } > .bss_mem
50
51         /* These mark the ABI of U-Boot for debuggers. */
52         .mdebug.abi32 : {
53                 KEEP(*(.mdebug.abi32))
54         }
55         .mdebug.abi64 : {
56                 KEEP(*(.mdebug.abi64))
57         }
58
59         /* This is the MIPS specific mdebug section. */
60         .mdebug : { *(.mdebug) }
61
62         /* Stabs debugging sections.  */
63         .stab 0 : { *(.stab) }
64         .stabstr 0 : { *(.stabstr) }
65         .stab.excl 0 : { *(.stab.excl) }
66         .stab.exclstr 0 : { *(.stab.exclstr) }
67         .stab.index 0 : { *(.stab.index) }
68         .stab.indexstr 0 : { *(.stab.indexstr) }
69         .comment 0 : { *(.comment) }
70
71         /*
72          * DWARF debug sections.
73          * Symbols in the DWARF debugging sections are relative to
74          * the beginning of the section so we begin them at 0.
75          */
76         /* DWARF 1 */
77         .debug 0 : { *(.debug) }
78         .line 0 : { *(.line) }
79         /* GNU DWARF 1 extensions */
80         .debug_srcinfo 0 : { *(.debug_srcinfo) }
81         .debug_sfnames 0 : { *(.debug_sfnames) }
82         /* DWARF 1.1 and DWARF 2 */
83         .debug_aranges 0 : { *(.debug_aranges) }
84         .debug_pubnames 0 : { *(.debug_pubnames) }
85         /* DWARF 2 */
86         .debug_info 0 : {
87                 *(.debug_info
88                 .gnu.linkonce.wi.*)
89         }
90         .debug_abbrev 0 : { *(.debug_abbrev) }
91         .debug_line 0 : { *(.debug_line) }
92         .debug_frame 0 : { *(.debug_frame) }
93         .debug_str 0 : { *(.debug_str) }
94         .debug_loc 0 : { *(.debug_loc) }
95         .debug_macinfo 0 : { *(.debug_macinfo) }
96         .debug_pubtypes 0 : { *(.debug_pubtypes) }
97         /* DWARF 3 */
98         .debug_ranges 0 : { *(.debug_ranges) }
99         /* SGI/MIPS DWARF 2 extensions */
100         .debug_weaknames 0 : { *(.debug_weaknames) }
101         .debug_funcnames 0 : { *(.debug_funcnames) }
102         .debug_typenames 0 : { *(.debug_typenames) }
103         .debug_varnames 0 : { *(.debug_varnames) }
104         /* GNU DWARF 2 extensions */
105         .debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) }
106         .debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) }
107         /* DWARF 4 */
108         .debug_types 0 : { *(.debug_types) }
109         /* DWARF 5 */
110         .debug_macro 0 : { *(.debug_macro) }
111         .debug_addr 0 : { *(.debug_addr) }
112
113         /DISCARD/ : {
114                 /* ABI crap starts here */
115                 *(.MIPS.abiflags)
116                 *(.MIPS.options)
117                 *(.options)
118                 *(.pdr)
119                 *(.reginfo)
120                 *(.eh_frame)
121         }
122 }