From 8371dabb5fbc1da5d823cf2905e965aa32cb31df Mon Sep 17 00:00:00 2001 From: Vladimir Zapolskiy Date: Mon, 28 Nov 2016 00:15:28 +0200 Subject: 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 Reviewed-by: Simon Glass 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 - * - * Copyright (C) 2008-2009 - * Yoshihiro Shimoda - * - * Copyright (C) 2008 - * Mark Jonas + * Copyright (C) 2016 Vladimir Zapolskiy + * Copyright (C) 2008-2009 Yoshihiro Shimoda + * Copyright (C) 2008 Mark Jonas + * Copyright (C) 2007 Nobuhiro Iwamatsu * * 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 = .); } -- cgit v0.10.2