2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2008-03-10 10:37:10 +00:00
|
|
|
/*
|
2016-11-27 22:15:28 +00:00
|
|
|
* 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>
|
2008-03-10 10:37:10 +00:00
|
|
|
*/
|
|
|
|
|
2016-11-27 22:15:25 +00:00
|
|
|
#include "config.h"
|
|
|
|
|
2017-07-28 21:14:28 +00:00
|
|
|
#ifdef CONFIG_SYS_BIG_ENDIAN
|
|
|
|
OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-sh-linux")
|
|
|
|
#else
|
2008-03-10 10:37:10 +00:00
|
|
|
OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
|
2017-07-28 21:14:28 +00:00
|
|
|
#endif
|
|
|
|
|
2008-03-10 10:37:10 +00:00
|
|
|
OUTPUT_ARCH(sh)
|
2016-11-27 22:15:28 +00:00
|
|
|
|
|
|
|
MEMORY
|
|
|
|
{
|
|
|
|
ram : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
|
|
|
|
}
|
|
|
|
|
2008-03-10 10:37:10 +00:00
|
|
|
ENTRY(_start)
|
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
2019-09-14 17:03:32 +00:00
|
|
|
. = CONFIG_SYS_TEXT_BASE;
|
2016-11-27 22:15:27 +00:00
|
|
|
reloc_dst = .;
|
2008-03-10 10:37:10 +00:00
|
|
|
|
|
|
|
PROVIDE (_ftext = .);
|
|
|
|
PROVIDE (_fcode = .);
|
|
|
|
PROVIDE (_start = .);
|
|
|
|
|
|
|
|
.text :
|
|
|
|
{
|
2014-06-20 07:40:14 +00:00
|
|
|
KEEP(*/start.o (.text))
|
2016-11-27 22:15:26 +00:00
|
|
|
KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.text .spiboot1.text))
|
2016-11-27 22:15:25 +00:00
|
|
|
KEEP(*(.spiboot2.text))
|
2008-03-10 10:37:10 +00:00
|
|
|
. = ALIGN(8192);
|
2017-08-27 15:50:16 +00:00
|
|
|
#ifdef CONFIG_ENV_IS_IN_FLASH
|
|
|
|
env/embedded.o (.doesnotexist)
|
|
|
|
. = ALIGN(8192);
|
|
|
|
#endif
|
2008-03-10 10:37:10 +00:00
|
|
|
*(.text)
|
|
|
|
. = ALIGN(4);
|
2016-11-27 22:15:28 +00:00
|
|
|
} >ram =0xFF
|
2008-03-10 10:37:10 +00:00
|
|
|
PROVIDE (_ecode = .);
|
|
|
|
.rodata :
|
|
|
|
{
|
2009-02-18 23:22:05 +00:00
|
|
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
|
2008-03-10 10:37:10 +00:00
|
|
|
. = ALIGN(4);
|
2016-11-27 22:15:28 +00:00
|
|
|
} >ram
|
2008-03-10 10:37:10 +00:00
|
|
|
PROVIDE (_etext = .);
|
|
|
|
|
|
|
|
|
|
|
|
PROVIDE (_fdata = .);
|
|
|
|
.data :
|
|
|
|
{
|
|
|
|
*(.data)
|
|
|
|
. = ALIGN(4);
|
2016-11-27 22:15:28 +00:00
|
|
|
} >ram
|
2008-03-10 10:37:10 +00:00
|
|
|
PROVIDE (_edata = .);
|
|
|
|
|
|
|
|
PROVIDE (_fgot = .);
|
|
|
|
.got :
|
|
|
|
{
|
2016-11-27 22:15:35 +00:00
|
|
|
*(.got.plt) *(.got)
|
2008-03-10 10:37:10 +00:00
|
|
|
. = ALIGN(4);
|
2016-11-27 22:15:28 +00:00
|
|
|
} >ram
|
2008-03-10 10:37:10 +00:00
|
|
|
PROVIDE (_egot = .);
|
|
|
|
|
2012-10-12 10:27:03 +00:00
|
|
|
.u_boot_list : {
|
2013-02-25 00:59:00 +00:00
|
|
|
KEEP(*(SORT(.u_boot_list*)));
|
2016-11-27 22:15:28 +00:00
|
|
|
} >ram
|
2012-10-12 10:27:03 +00:00
|
|
|
|
2016-05-15 00:49:29 +00:00
|
|
|
PROVIDE (__init_end = .);
|
2008-03-10 10:37:10 +00:00
|
|
|
PROVIDE (reloc_dst_end = .);
|
2019-09-01 16:05:03 +00:00
|
|
|
PROVIDE (_end = .);
|
2008-03-10 10:37:10 +00:00
|
|
|
|
|
|
|
PROVIDE (bss_start = .);
|
|
|
|
PROVIDE (__bss_start = .);
|
|
|
|
.bss :
|
|
|
|
{
|
|
|
|
*(.bss)
|
|
|
|
. = ALIGN(4);
|
2016-11-27 22:15:28 +00:00
|
|
|
} >ram
|
2008-03-10 10:37:10 +00:00
|
|
|
PROVIDE (bss_end = .);
|
2013-03-14 06:54:53 +00:00
|
|
|
PROVIDE (__bss_end = .);
|
2008-03-10 10:37:10 +00:00
|
|
|
}
|