]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
arm: spear: Move to common SPL infrastructure
[karo-tx-uboot.git] / arch / arm / cpu / arm926ejs / spear / u-boot-spl.lds
index c7ee19912f86f0e374473a32270befc2701b973b..47910d3e4f82bbfdf8b40a18fe95000b967621a3 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * Copyright (C) 2015 Stefan Roese <sr@denx.de>
+ *
  * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
  * on behalf of DENX Software Engineering GmbH
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
+MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\
+               LENGTH = CONFIG_SPL_MAX_SIZE }
+
 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
 OUTPUT_ARCH(arm)
 ENTRY(_start)
 SECTIONS
 {
-       . = 0x00000000;
-
-       . = ALIGN(4);
-       .text   :
+       .text      :
        {
+               __start = .;
                *(.vectors)
-               arch/arm/cpu/arm926ejs/spear/start.o    (.text*)
+               CPUDIR/spear/start.o    (.text*)
                *(.text*)
-       }
+       } > .sram
 
        . = ALIGN(4);
-       .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+       .rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram
 
        . = ALIGN(4);
-       .data : {
-               *(.data*)
-       }
+       .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
 
        . = ALIGN(4);
+       .u_boot_list : {
+               KEEP(*(SORT(.u_boot_list*)));
+       } > .sram
 
-       .rel.dyn : {
-               __rel_dyn_start = .;
-               *(.rel*)
-               __rel_dyn_end = .;
-       }
+       . = ALIGN(4);
+       __image_copy_end = .;
+       _end = .;
 
-       .bss : {
+       .bss :
+       {
                . = ALIGN(4);
                __bss_start = .;
                *(.bss*)
                . = ALIGN(4);
                __bss_end = .;
-       }
-
-       .end :
-       {
-               *(.__end)
-       }
-
-       _image_binary_end = .;
-
-       .dynsym _image_binary_end : { *(.dynsym) }
-       .dynbss : { *(.dynbss) }
-       .dynstr : { *(.dynstr*) }
-       .dynamic : { *(.dynamic*) }
-       .hash : { *(.hash*) }
-       .plt : { *(.plt*) }
-       .interp : { *(.interp*) }
-       .gnu : { *(.gnu*) }
-       .ARM.exidx : { *(.ARM.exidx*) }
+       } > .sram
 }