/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (C) 2016 Vladimir Zapolskiy * Copyright (C) 2008-2009 Yoshihiro Shimoda * Copyright (C) 2008 Mark Jonas * Copyright (C) 2007 Nobuhiro Iwamatsu */ #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 = .); }