mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 16:10:58 +00:00
e914109de4
Since binutils 2.30 , the resulting U-Boot binary was incorrectly linked against address 0 instead of text base, fix it. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
90 lines
1.6 KiB
Text
90 lines
1.6 KiB
Text
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* 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>
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#ifdef CONFIG_SYS_BIG_ENDIAN
|
|
OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-sh-linux")
|
|
#else
|
|
OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
|
|
#endif
|
|
|
|
OUTPUT_ARCH(sh)
|
|
|
|
MEMORY
|
|
{
|
|
ram : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
|
|
}
|
|
|
|
ENTRY(_start)
|
|
|
|
SECTIONS
|
|
{
|
|
. = CONFIG_SYS_TEXT_BASE;
|
|
reloc_dst = .;
|
|
|
|
PROVIDE (_ftext = .);
|
|
PROVIDE (_fcode = .);
|
|
PROVIDE (_start = .);
|
|
|
|
.text :
|
|
{
|
|
KEEP(*/start.o (.text))
|
|
KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.text .spiboot1.text))
|
|
KEEP(*(.spiboot2.text))
|
|
. = ALIGN(8192);
|
|
#ifdef CONFIG_ENV_IS_IN_FLASH
|
|
env/embedded.o (.doesnotexist)
|
|
. = ALIGN(8192);
|
|
#endif
|
|
*(.text)
|
|
. = ALIGN(4);
|
|
} >ram =0xFF
|
|
PROVIDE (_ecode = .);
|
|
.rodata :
|
|
{
|
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
|
|
. = ALIGN(4);
|
|
} >ram
|
|
PROVIDE (_etext = .);
|
|
|
|
|
|
PROVIDE (_fdata = .);
|
|
.data :
|
|
{
|
|
*(.data)
|
|
. = ALIGN(4);
|
|
} >ram
|
|
PROVIDE (_edata = .);
|
|
|
|
PROVIDE (_fgot = .);
|
|
.got :
|
|
{
|
|
*(.got.plt) *(.got)
|
|
. = ALIGN(4);
|
|
} >ram
|
|
PROVIDE (_egot = .);
|
|
|
|
.u_boot_list : {
|
|
KEEP(*(SORT(.u_boot_list*)));
|
|
} >ram
|
|
|
|
PROVIDE (__init_end = .);
|
|
PROVIDE (reloc_dst_end = .);
|
|
PROVIDE (_end = .);
|
|
|
|
PROVIDE (bss_start = .);
|
|
PROVIDE (__bss_start = .);
|
|
.bss :
|
|
{
|
|
*(.bss)
|
|
. = ALIGN(4);
|
|
} >ram
|
|
PROVIDE (bss_end = .);
|
|
PROVIDE (__bss_end = .);
|
|
}
|