1/* 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} 91