183d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */ 207f5b966SDaniel Schwierzeck 3*2f41ade7STom RiniMEMORY { .spl_mem : ORIGIN = IMAGE_TEXT_BASE, \ 4*2f41ade7STom Rini LENGTH = IMAGE_MAX_SIZE } 507f5b966SDaniel SchwierzeckMEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ 607f5b966SDaniel Schwierzeck LENGTH = CONFIG_SPL_BSS_MAX_SIZE } 707f5b966SDaniel Schwierzeck 807f5b966SDaniel SchwierzeckOUTPUT_ARCH(mips) 907f5b966SDaniel SchwierzeckENTRY(_start) 1007f5b966SDaniel SchwierzeckSECTIONS 1107f5b966SDaniel Schwierzeck{ 1207f5b966SDaniel Schwierzeck . = 0x00000000; 1307f5b966SDaniel Schwierzeck 1407f5b966SDaniel Schwierzeck . = ALIGN(4); 1507f5b966SDaniel Schwierzeck .text : { 1607f5b966SDaniel Schwierzeck *(.text*) 1707f5b966SDaniel Schwierzeck } > .spl_mem 1807f5b966SDaniel Schwierzeck 1907f5b966SDaniel Schwierzeck . = ALIGN(4); 2007f5b966SDaniel Schwierzeck .rodata : { 2107f5b966SDaniel Schwierzeck *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 2207f5b966SDaniel Schwierzeck } > .spl_mem 2307f5b966SDaniel Schwierzeck 2407f5b966SDaniel Schwierzeck . = ALIGN(4); 2507f5b966SDaniel Schwierzeck .data : { 2607f5b966SDaniel Schwierzeck *(SORT_BY_ALIGNMENT(.data*)) 2707f5b966SDaniel Schwierzeck *(SORT_BY_ALIGNMENT(.sdata*)) 2807f5b966SDaniel Schwierzeck } > .spl_mem 2907f5b966SDaniel Schwierzeck 3007f5b966SDaniel Schwierzeck#ifdef CONFIG_SPL_DM 3107f5b966SDaniel Schwierzeck . = ALIGN(4); 3207f5b966SDaniel Schwierzeck .u_boot_list : { 3307f5b966SDaniel Schwierzeck KEEP(*(SORT(.u_boot_list*))); 3407f5b966SDaniel Schwierzeck } > .spl_mem 3507f5b966SDaniel Schwierzeck#endif 3607f5b966SDaniel Schwierzeck 3707f5b966SDaniel Schwierzeck . = ALIGN(4); 3807f5b966SDaniel Schwierzeck __image_copy_end = .; 3907f5b966SDaniel Schwierzeck 4007f5b966SDaniel Schwierzeck .bss (NOLOAD) : { 4107f5b966SDaniel Schwierzeck __bss_start = .; 4207f5b966SDaniel Schwierzeck *(.bss*) 4307f5b966SDaniel Schwierzeck *(.sbss*) 4407f5b966SDaniel Schwierzeck *(COMMON) 4507f5b966SDaniel Schwierzeck . = ALIGN(4); 4607f5b966SDaniel Schwierzeck __bss_end = .; 4707f5b966SDaniel Schwierzeck } > .bss_mem 4807f5b966SDaniel Schwierzeck 492fdadc0fSDaniel Schwierzeck /* These mark the ABI of U-Boot for debuggers. */ 502fdadc0fSDaniel Schwierzeck .mdebug.abi32 : { 512fdadc0fSDaniel Schwierzeck KEEP(*(.mdebug.abi32)) 522fdadc0fSDaniel Schwierzeck } 532fdadc0fSDaniel Schwierzeck .mdebug.abi64 : { 542fdadc0fSDaniel Schwierzeck KEEP(*(.mdebug.abi64)) 5507f5b966SDaniel Schwierzeck } 5607f5b966SDaniel Schwierzeck 572fdadc0fSDaniel Schwierzeck /* This is the MIPS specific mdebug section. */ 582fdadc0fSDaniel Schwierzeck .mdebug : { *(.mdebug) } 5907f5b966SDaniel Schwierzeck 602fdadc0fSDaniel Schwierzeck /* Stabs debugging sections. */ 612fdadc0fSDaniel Schwierzeck .stab 0 : { *(.stab) } 622fdadc0fSDaniel Schwierzeck .stabstr 0 : { *(.stabstr) } 632fdadc0fSDaniel Schwierzeck .stab.excl 0 : { *(.stab.excl) } 642fdadc0fSDaniel Schwierzeck .stab.exclstr 0 : { *(.stab.exclstr) } 652fdadc0fSDaniel Schwierzeck .stab.index 0 : { *(.stab.index) } 662fdadc0fSDaniel Schwierzeck .stab.indexstr 0 : { *(.stab.indexstr) } 672fdadc0fSDaniel Schwierzeck .comment 0 : { *(.comment) } 6807f5b966SDaniel Schwierzeck 692fdadc0fSDaniel Schwierzeck /* 702fdadc0fSDaniel Schwierzeck * DWARF debug sections. 712fdadc0fSDaniel Schwierzeck * Symbols in the DWARF debugging sections are relative to 722fdadc0fSDaniel Schwierzeck * the beginning of the section so we begin them at 0. 732fdadc0fSDaniel Schwierzeck */ 742fdadc0fSDaniel Schwierzeck /* DWARF 1 */ 752fdadc0fSDaniel Schwierzeck .debug 0 : { *(.debug) } 762fdadc0fSDaniel Schwierzeck .line 0 : { *(.line) } 772fdadc0fSDaniel Schwierzeck /* GNU DWARF 1 extensions */ 782fdadc0fSDaniel Schwierzeck .debug_srcinfo 0 : { *(.debug_srcinfo) } 792fdadc0fSDaniel Schwierzeck .debug_sfnames 0 : { *(.debug_sfnames) } 802fdadc0fSDaniel Schwierzeck /* DWARF 1.1 and DWARF 2 */ 812fdadc0fSDaniel Schwierzeck .debug_aranges 0 : { *(.debug_aranges) } 822fdadc0fSDaniel Schwierzeck .debug_pubnames 0 : { *(.debug_pubnames) } 832fdadc0fSDaniel Schwierzeck /* DWARF 2 */ 842fdadc0fSDaniel Schwierzeck .debug_info 0 : { 852fdadc0fSDaniel Schwierzeck *(.debug_info 862fdadc0fSDaniel Schwierzeck .gnu.linkonce.wi.*) 8707f5b966SDaniel Schwierzeck } 882fdadc0fSDaniel Schwierzeck .debug_abbrev 0 : { *(.debug_abbrev) } 892fdadc0fSDaniel Schwierzeck .debug_line 0 : { *(.debug_line) } 902fdadc0fSDaniel Schwierzeck .debug_frame 0 : { *(.debug_frame) } 912fdadc0fSDaniel Schwierzeck .debug_str 0 : { *(.debug_str) } 922fdadc0fSDaniel Schwierzeck .debug_loc 0 : { *(.debug_loc) } 932fdadc0fSDaniel Schwierzeck .debug_macinfo 0 : { *(.debug_macinfo) } 942fdadc0fSDaniel Schwierzeck .debug_pubtypes 0 : { *(.debug_pubtypes) } 952fdadc0fSDaniel Schwierzeck /* DWARF 3 */ 962fdadc0fSDaniel Schwierzeck .debug_ranges 0 : { *(.debug_ranges) } 972fdadc0fSDaniel Schwierzeck /* SGI/MIPS DWARF 2 extensions */ 982fdadc0fSDaniel Schwierzeck .debug_weaknames 0 : { *(.debug_weaknames) } 992fdadc0fSDaniel Schwierzeck .debug_funcnames 0 : { *(.debug_funcnames) } 1002fdadc0fSDaniel Schwierzeck .debug_typenames 0 : { *(.debug_typenames) } 1012fdadc0fSDaniel Schwierzeck .debug_varnames 0 : { *(.debug_varnames) } 1022fdadc0fSDaniel Schwierzeck /* GNU DWARF 2 extensions */ 1032fdadc0fSDaniel Schwierzeck .debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) } 1042fdadc0fSDaniel Schwierzeck .debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) } 1052fdadc0fSDaniel Schwierzeck /* DWARF 4 */ 1062fdadc0fSDaniel Schwierzeck .debug_types 0 : { *(.debug_types) } 1072fdadc0fSDaniel Schwierzeck /* DWARF 5 */ 1082fdadc0fSDaniel Schwierzeck .debug_macro 0 : { *(.debug_macro) } 1092fdadc0fSDaniel Schwierzeck .debug_addr 0 : { *(.debug_addr) } 11007f5b966SDaniel Schwierzeck 1112fdadc0fSDaniel Schwierzeck /DISCARD/ : { 1122fdadc0fSDaniel Schwierzeck /* ABI crap starts here */ 1132fdadc0fSDaniel Schwierzeck *(.MIPS.abiflags) 1142fdadc0fSDaniel Schwierzeck *(.MIPS.options) 1152fdadc0fSDaniel Schwierzeck *(.options) 1162fdadc0fSDaniel Schwierzeck *(.pdr) 1172fdadc0fSDaniel Schwierzeck *(.reginfo) 1182fdadc0fSDaniel Schwierzeck *(.eh_frame) 11907f5b966SDaniel Schwierzeck } 12007f5b966SDaniel Schwierzeck} 121