blob: 07004ea1115562497dad54b91afb59a2d2bccdbd [file] [log] [blame]
Daniel Schwierzeck848a7cc2016-05-26 15:28:38 +02001/*
2 * SPDX-License-Identifier: GPL-2.0+
3 */
4
5MEMORY { .spl_mem : ORIGIN = CONFIG_SPL_TEXT_BASE, \
6 LENGTH = CONFIG_SPL_MAX_SIZE }
7MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
8 LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
9
10OUTPUT_ARCH(mips)
11ENTRY(_start)
12SECTIONS
13{
14 . = 0x00000000;
15
16 . = ALIGN(4);
17 .text : {
18 *(.text*)
19 } > .spl_mem
20
21 . = ALIGN(4);
22 .rodata : {
23 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
24 } > .spl_mem
25
26 . = ALIGN(4);
27 .data : {
28 *(SORT_BY_ALIGNMENT(.data*))
29 *(SORT_BY_ALIGNMENT(.sdata*))
30 } > .spl_mem
31
32#ifdef CONFIG_SPL_DM
33 . = ALIGN(4);
34 .u_boot_list : {
35 KEEP(*(SORT(.u_boot_list*)));
36 } > .spl_mem
37#endif
38
39 . = ALIGN(4);
40 __image_copy_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 .rel.dyn (NOLOAD) : {
52 *(.rel.dyn)
53 }
54
55 .dynsym : {
56 *(.dynsym)
57 }
58
59 .dynbss : {
60 *(.dynbss)
61 }
62
63 .dynstr : {
64 *(.dynstr)
65 }
66
67 .dynamic : {
68 *(.dynamic)
69 }
70
71 .plt : {
72 *(.plt)
73 }
74
75 .interp : {
76 *(.interp)
77 }
78
79 .gnu : {
80 *(.gnu*)
81 }
82
83 .MIPS.stubs : {
84 *(.MIPS.stubs)
85 }
86
87 .hash : {
88 *(.hash)
89 }
90}