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>
master
Vladimir Zapolskiy 8 years ago committed by Tom Rini
parent b26d25072f
commit 8371dabb5f
  1. 32
      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 = .);
}

Loading…
Cancel
Save