aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/cpu/u-boot-spl.lds')
-rw-r--r--arch/mips/cpu/u-boot-spl.lds104
1 files changed, 68 insertions, 36 deletions
diff --git a/arch/mips/cpu/u-boot-spl.lds b/arch/mips/cpu/u-boot-spl.lds
index 1273b74983..d08d6222c4 100644
--- a/arch/mips/cpu/u-boot-spl.lds
+++ b/arch/mips/cpu/u-boot-spl.lds
@@ -1,7 +1,7 @@
1/* SPDX-License-Identifier: GPL-2.0+ */ 1/* SPDX-License-Identifier: GPL-2.0+ */
2 2
3MEMORY { .spl_mem : ORIGIN = CONFIG_SPL_TEXT_BASE, \ 3MEMORY { .spl_mem : ORIGIN = IMAGE_TEXT_BASE, \
4 LENGTH = CONFIG_SPL_MAX_SIZE } 4 LENGTH = IMAGE_MAX_SIZE }
5MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ 5MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
6 LENGTH = CONFIG_SPL_BSS_MAX_SIZE } 6 LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
7 7
@@ -46,43 +46,75 @@ SECTIONS
46 __bss_end = .; 46 __bss_end = .;
47 } > .bss_mem 47 } > .bss_mem
48 48
49 .rel.dyn (NOLOAD) : { 49 /* These mark the ABI of U-Boot for debuggers. */
50 *(.rel.dyn) 50 .mdebug.abi32 : {
51 KEEP(*(.mdebug.abi32))
51 } 52 }
52 53 .mdebug.abi64 : {
53 .dynsym : { 54 KEEP(*(.mdebug.abi64))
54 *(.dynsym)
55 }
56
57 .dynbss : {
58 *(.dynbss)
59 }
60
61 .dynstr : {
62 *(.dynstr)
63 }
64
65 .dynamic : {
66 *(.dynamic)
67 } 55 }
68 56
69 .plt : { 57 /* This is the MIPS specific mdebug section. */
70 *(.plt) 58 .mdebug : { *(.mdebug) }
59
60 /* Stabs debugging sections. */
61 .stab 0 : { *(.stab) }
62 .stabstr 0 : { *(.stabstr) }
63 .stab.excl 0 : { *(.stab.excl) }
64 .stab.exclstr 0 : { *(.stab.exclstr) }
65 .stab.index 0 : { *(.stab.index) }
66 .stab.indexstr 0 : { *(.stab.indexstr) }
67 .comment 0 : { *(.comment) }
68
69 /*
70 * DWARF debug sections.
71 * Symbols in the DWARF debugging sections are relative to
72 * the beginning of the section so we begin them at 0.
73 */
74 /* DWARF 1 */
75 .debug 0 : { *(.debug) }
76 .line 0 : { *(.line) }
77 /* GNU DWARF 1 extensions */
78 .debug_srcinfo 0 : { *(.debug_srcinfo) }
79 .debug_sfnames 0 : { *(.debug_sfnames) }
80 /* DWARF 1.1 and DWARF 2 */
81 .debug_aranges 0 : { *(.debug_aranges) }
82 .debug_pubnames 0 : { *(.debug_pubnames) }
83 /* DWARF 2 */
84 .debug_info 0 : {
85 *(.debug_info
86 .gnu.linkonce.wi.*)
71 } 87 }
72 88 .debug_abbrev 0 : { *(.debug_abbrev) }
73 .interp : { 89 .debug_line 0 : { *(.debug_line) }
74 *(.interp) 90 .debug_frame 0 : { *(.debug_frame) }
75 } 91 .debug_str 0 : { *(.debug_str) }
76 92 .debug_loc 0 : { *(.debug_loc) }
77 .gnu : { 93 .debug_macinfo 0 : { *(.debug_macinfo) }
78 *(.gnu*) 94 .debug_pubtypes 0 : { *(.debug_pubtypes) }
79 } 95 /* DWARF 3 */
80 96 .debug_ranges 0 : { *(.debug_ranges) }
81 .MIPS.stubs : { 97 /* SGI/MIPS DWARF 2 extensions */
82 *(.MIPS.stubs) 98 .debug_weaknames 0 : { *(.debug_weaknames) }
83 } 99 .debug_funcnames 0 : { *(.debug_funcnames) }
84 100 .debug_typenames 0 : { *(.debug_typenames) }
85 .hash : { 101 .debug_varnames 0 : { *(.debug_varnames) }
86 *(.hash) 102 /* GNU DWARF 2 extensions */
103 .debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) }
104 .debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) }
105 /* DWARF 4 */
106 .debug_types 0 : { *(.debug_types) }
107 /* DWARF 5 */
108 .debug_macro 0 : { *(.debug_macro) }
109 .debug_addr 0 : { *(.debug_addr) }
110
111 /DISCARD/ : {
112 /* ABI crap starts here */
113 *(.MIPS.abiflags)
114 *(.MIPS.options)
115 *(.options)
116 *(.pdr)
117 *(.reginfo)
118 *(.eh_frame)
87 } 119 }
88} 120}