1/* SPDX-License-Identifier: GPL-2.0+ */ 2 3MEMORY { .spl_mem : ORIGIN = CONFIG_SPL_TEXT_BASE, \ 4 LENGTH = CONFIG_SPL_MAX_SIZE } 5MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ 6 LENGTH = CONFIG_SPL_BSS_MAX_SIZE } 7 8OUTPUT_ARCH(mips) 9ENTRY(_start) 10SECTIONS 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 .bss (NOLOAD) : { 41 __bss_start = .; 42 *(.bss*) 43 *(.sbss*) 44 *(COMMON) 45 . = ALIGN(4); 46 __bss_end = .; 47 } > .bss_mem 48 49 .rel.dyn (NOLOAD) : { 50 *(.rel.dyn) 51 } 52 53 .dynsym : { 54 *(.dynsym) 55 } 56 57 .dynbss : { 58 *(.dynbss) 59 } 60 61 .dynstr : { 62 *(.dynstr) 63 } 64 65 .dynamic : { 66 *(.dynamic) 67 } 68 69 .plt : { 70 *(.plt) 71 } 72 73 .interp : { 74 *(.interp) 75 } 76 77 .gnu : { 78 *(.gnu*) 79 } 80 81 .MIPS.stubs : { 82 *(.MIPS.stubs) 83 } 84 85 .hash : { 86 *(.hash) 87 } 88} 89