1*07f5b966SDaniel Schwierzeck/* 2*07f5b966SDaniel Schwierzeck * SPDX-License-Identifier: GPL-2.0+ 3*07f5b966SDaniel Schwierzeck */ 4*07f5b966SDaniel Schwierzeck 5*07f5b966SDaniel SchwierzeckMEMORY { .spl_mem : ORIGIN = CONFIG_SPL_TEXT_BASE, \ 6*07f5b966SDaniel Schwierzeck LENGTH = CONFIG_SPL_MAX_SIZE } 7*07f5b966SDaniel SchwierzeckMEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ 8*07f5b966SDaniel Schwierzeck LENGTH = CONFIG_SPL_BSS_MAX_SIZE } 9*07f5b966SDaniel Schwierzeck 10*07f5b966SDaniel SchwierzeckOUTPUT_ARCH(mips) 11*07f5b966SDaniel SchwierzeckENTRY(_start) 12*07f5b966SDaniel SchwierzeckSECTIONS 13*07f5b966SDaniel Schwierzeck{ 14*07f5b966SDaniel Schwierzeck . = 0x00000000; 15*07f5b966SDaniel Schwierzeck 16*07f5b966SDaniel Schwierzeck . = ALIGN(4); 17*07f5b966SDaniel Schwierzeck .text : { 18*07f5b966SDaniel Schwierzeck *(.text*) 19*07f5b966SDaniel Schwierzeck } > .spl_mem 20*07f5b966SDaniel Schwierzeck 21*07f5b966SDaniel Schwierzeck . = ALIGN(4); 22*07f5b966SDaniel Schwierzeck .rodata : { 23*07f5b966SDaniel Schwierzeck *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 24*07f5b966SDaniel Schwierzeck } > .spl_mem 25*07f5b966SDaniel Schwierzeck 26*07f5b966SDaniel Schwierzeck . = ALIGN(4); 27*07f5b966SDaniel Schwierzeck .data : { 28*07f5b966SDaniel Schwierzeck *(SORT_BY_ALIGNMENT(.data*)) 29*07f5b966SDaniel Schwierzeck *(SORT_BY_ALIGNMENT(.sdata*)) 30*07f5b966SDaniel Schwierzeck } > .spl_mem 31*07f5b966SDaniel Schwierzeck 32*07f5b966SDaniel Schwierzeck#ifdef CONFIG_SPL_DM 33*07f5b966SDaniel Schwierzeck . = ALIGN(4); 34*07f5b966SDaniel Schwierzeck .u_boot_list : { 35*07f5b966SDaniel Schwierzeck KEEP(*(SORT(.u_boot_list*))); 36*07f5b966SDaniel Schwierzeck } > .spl_mem 37*07f5b966SDaniel Schwierzeck#endif 38*07f5b966SDaniel Schwierzeck 39*07f5b966SDaniel Schwierzeck . = ALIGN(4); 40*07f5b966SDaniel Schwierzeck __image_copy_end = .; 41*07f5b966SDaniel Schwierzeck 42*07f5b966SDaniel Schwierzeck .bss (NOLOAD) : { 43*07f5b966SDaniel Schwierzeck __bss_start = .; 44*07f5b966SDaniel Schwierzeck *(.bss*) 45*07f5b966SDaniel Schwierzeck *(.sbss*) 46*07f5b966SDaniel Schwierzeck *(COMMON) 47*07f5b966SDaniel Schwierzeck . = ALIGN(4); 48*07f5b966SDaniel Schwierzeck __bss_end = .; 49*07f5b966SDaniel Schwierzeck } > .bss_mem 50*07f5b966SDaniel Schwierzeck 51*07f5b966SDaniel Schwierzeck .rel.dyn (NOLOAD) : { 52*07f5b966SDaniel Schwierzeck *(.rel.dyn) 53*07f5b966SDaniel Schwierzeck } 54*07f5b966SDaniel Schwierzeck 55*07f5b966SDaniel Schwierzeck .dynsym : { 56*07f5b966SDaniel Schwierzeck *(.dynsym) 57*07f5b966SDaniel Schwierzeck } 58*07f5b966SDaniel Schwierzeck 59*07f5b966SDaniel Schwierzeck .dynbss : { 60*07f5b966SDaniel Schwierzeck *(.dynbss) 61*07f5b966SDaniel Schwierzeck } 62*07f5b966SDaniel Schwierzeck 63*07f5b966SDaniel Schwierzeck .dynstr : { 64*07f5b966SDaniel Schwierzeck *(.dynstr) 65*07f5b966SDaniel Schwierzeck } 66*07f5b966SDaniel Schwierzeck 67*07f5b966SDaniel Schwierzeck .dynamic : { 68*07f5b966SDaniel Schwierzeck *(.dynamic) 69*07f5b966SDaniel Schwierzeck } 70*07f5b966SDaniel Schwierzeck 71*07f5b966SDaniel Schwierzeck .plt : { 72*07f5b966SDaniel Schwierzeck *(.plt) 73*07f5b966SDaniel Schwierzeck } 74*07f5b966SDaniel Schwierzeck 75*07f5b966SDaniel Schwierzeck .interp : { 76*07f5b966SDaniel Schwierzeck *(.interp) 77*07f5b966SDaniel Schwierzeck } 78*07f5b966SDaniel Schwierzeck 79*07f5b966SDaniel Schwierzeck .gnu : { 80*07f5b966SDaniel Schwierzeck *(.gnu*) 81*07f5b966SDaniel Schwierzeck } 82*07f5b966SDaniel Schwierzeck 83*07f5b966SDaniel Schwierzeck .MIPS.stubs : { 84*07f5b966SDaniel Schwierzeck *(.MIPS.stubs) 85*07f5b966SDaniel Schwierzeck } 86*07f5b966SDaniel Schwierzeck 87*07f5b966SDaniel Schwierzeck .hash : { 88*07f5b966SDaniel Schwierzeck *(.hash) 89*07f5b966SDaniel Schwierzeck } 90*07f5b966SDaniel Schwierzeck} 91