summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vz@mleia.com>2016-11-27 22:15:28 (GMT)
committerTom Rini <trini@konsulko.com>2016-12-03 02:32:48 (GMT)
commit8371dabb5fbc1da5d823cf2905e965aa32cb31df (patch)
treea06297308412a852562709abd493304edabbd806 /arch/sh
parentb26d25072ff83093e136eaac98a906188a22c57e (diff)
downloadu-boot-8371dabb5fbc1da5d823cf2905e965aa32cb31df.tar.xz
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>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/cpu/u-boot.lds32
1 files changed, 16 insertions, 16 deletions
diff --git a/arch/sh/cpu/u-boot.lds b/arch/sh/cpu/u-boot.lds
index bc240bd..f2e48c6 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 = .);
}