]> git.sur5r.net Git - u-boot/commitdiff
sh: add MEMORY command to a shared linker script
authorVladimir Zapolskiy <vz@mleia.com>
Sun, 27 Nov 2016 22:15:28 +0000 (00:15 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 3 Dec 2016 02:32:48 +0000 (21:32 -0500)
At the moment in runtime all defined sections are copied into or
created in RAM, specify this explicitly to assert potential out of RAM
placements of the sections.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/sh/cpu/u-boot.lds

index bc240bd1bd5c28da4a73694b783d4c2a921f0dc6..f2e48c6eca2ab0db2fece1f1fd5f4c92b0474b10 100644 (file)
@@ -1,12 +1,8 @@
 /*
- * Copyright (C) 2007
- * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
- *
- * Copyright (C) 2008-2009
- * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
- *
- * Copyright (C) 2008
- * Mark Jonas <mark.jonas@de.bosch.com>
+ * Copyright (C) 2016 Vladimir Zapolskiy <vz@mleia.com>
+ * Copyright (C) 2008-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
+ * Copyright (C) 2008 Mark Jonas <mark.jonas@de.bosch.com>
+ * Copyright (C) 2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
 OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
 OUTPUT_ARCH(sh)
+
+MEMORY
+{
+       ram     : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
+}
+
 ENTRY(_start)
 
 SECTIONS
@@ -37,13 +39,13 @@ SECTIONS
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
-       } =0xFF
+       } >ram =0xFF
        PROVIDE (_ecode = .);
        .rodata :
        {
                *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (_etext = .);
 
 
@@ -52,7 +54,7 @@ SECTIONS
        {
                *(.data)
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (_edata = .);
 
        PROVIDE (_fgot = .);
@@ -60,13 +62,12 @@ SECTIONS
        {
                *(.got)
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (_egot = .);
 
-
        .u_boot_list : {
                KEEP(*(SORT(.u_boot_list*)));
-       }
+       } >ram
 
        PROVIDE (__init_end = .);
        PROVIDE (reloc_dst_end = .);
@@ -77,8 +78,7 @@ SECTIONS
        {
                *(.bss)
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (bss_end = .);
-
        PROVIDE (__bss_end = .);
 }