diff options
Diffstat (limited to 'roms/u-boot/arch/sh/cpu/u-boot.lds')
-rw-r--r-- | roms/u-boot/arch/sh/cpu/u-boot.lds | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/roms/u-boot/arch/sh/cpu/u-boot.lds b/roms/u-boot/arch/sh/cpu/u-boot.lds new file mode 100644 index 000000000..4cc97737f --- /dev/null +++ b/roms/u-boot/arch/sh/cpu/u-boot.lds @@ -0,0 +1,90 @@ +/* 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 = .); +} |