From: Vladimir Zapolskiy <vz@mleia.com>
Date: Sun, 27 Nov 2016 22:15:28 +0000 (+0200)
Subject: sh: add MEMORY command to a shared linker script
X-Git-Tag: v2025.01-rc5-pxa1908~8009
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=8371dabb5fbc1da5d823cf2905e965aa32cb31df;p=u-boot.git

sh: add MEMORY command to a shared linker script

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>
---

diff --git a/arch/sh/cpu/u-boot.lds b/arch/sh/cpu/u-boot.lds
index bc240bd1bd..f2e48c6eca 100644
--- a/arch/sh/cpu/u-boot.lds
+++ b/arch/sh/cpu/u-boot.lds
@@ -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+
  */
@@ -15,6 +11,12 @@
 
 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 = .);
 }