| /* 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 = .); |
| } |