1afc3929fSMasahiro Yamada/* 28371dabbSVladimir Zapolskiy * Copyright (C) 2016 Vladimir Zapolskiy <vz@mleia.com> 38371dabbSVladimir Zapolskiy * Copyright (C) 2008-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> 48371dabbSVladimir Zapolskiy * Copyright (C) 2008 Mark Jonas <mark.jonas@de.bosch.com> 58371dabbSVladimir Zapolskiy * Copyright (C) 2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> 6afc3929fSMasahiro Yamada * 7afc3929fSMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 8afc3929fSMasahiro Yamada */ 9afc3929fSMasahiro Yamada 103f8b5391SVladimir Zapolskiy#include "config.h" 113f8b5391SVladimir Zapolskiy 1290340c87SThomas Petazzoni#ifdef CONFIG_SYS_BIG_ENDIAN 1390340c87SThomas PetazzoniOUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-sh-linux") 1490340c87SThomas Petazzoni#else 15afc3929fSMasahiro YamadaOUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") 1690340c87SThomas Petazzoni#endif 1790340c87SThomas Petazzoni 18afc3929fSMasahiro YamadaOUTPUT_ARCH(sh) 198371dabbSVladimir Zapolskiy 208371dabbSVladimir ZapolskiyMEMORY 218371dabbSVladimir Zapolskiy{ 228371dabbSVladimir Zapolskiy ram : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE 238371dabbSVladimir Zapolskiy} 248371dabbSVladimir Zapolskiy 25afc3929fSMasahiro YamadaENTRY(_start) 26afc3929fSMasahiro Yamada 27afc3929fSMasahiro YamadaSECTIONS 28afc3929fSMasahiro Yamada{ 29b26d2507SVladimir Zapolskiy reloc_dst = .; 30afc3929fSMasahiro Yamada 31afc3929fSMasahiro Yamada PROVIDE (_ftext = .); 32afc3929fSMasahiro Yamada PROVIDE (_fcode = .); 33afc3929fSMasahiro Yamada PROVIDE (_start = .); 34afc3929fSMasahiro Yamada 35afc3929fSMasahiro Yamada .text : 36afc3929fSMasahiro Yamada { 37afc3929fSMasahiro Yamada KEEP(*/start.o (.text)) 389ec4a67eSVladimir Zapolskiy KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.text .spiboot1.text)) 393f8b5391SVladimir Zapolskiy KEEP(*(.spiboot2.text)) 40afc3929fSMasahiro Yamada . = ALIGN(8192); 41*34f98a3dSTom Rini#ifdef CONFIG_ENV_IS_IN_FLASH 42*34f98a3dSTom Rini env/embedded.o (.doesnotexist) 43*34f98a3dSTom Rini . = ALIGN(8192); 44*34f98a3dSTom Rini#endif 45afc3929fSMasahiro Yamada *(.text) 46afc3929fSMasahiro Yamada . = ALIGN(4); 478371dabbSVladimir Zapolskiy } >ram =0xFF 48afc3929fSMasahiro Yamada PROVIDE (_ecode = .); 49afc3929fSMasahiro Yamada .rodata : 50afc3929fSMasahiro Yamada { 51afc3929fSMasahiro Yamada *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 52afc3929fSMasahiro Yamada . = ALIGN(4); 538371dabbSVladimir Zapolskiy } >ram 54afc3929fSMasahiro Yamada PROVIDE (_etext = .); 55afc3929fSMasahiro Yamada 56afc3929fSMasahiro Yamada 57afc3929fSMasahiro Yamada PROVIDE (_fdata = .); 58afc3929fSMasahiro Yamada .data : 59afc3929fSMasahiro Yamada { 60afc3929fSMasahiro Yamada *(.data) 61afc3929fSMasahiro Yamada . = ALIGN(4); 628371dabbSVladimir Zapolskiy } >ram 63afc3929fSMasahiro Yamada PROVIDE (_edata = .); 64afc3929fSMasahiro Yamada 65afc3929fSMasahiro Yamada PROVIDE (_fgot = .); 66afc3929fSMasahiro Yamada .got : 67afc3929fSMasahiro Yamada { 6876a55989SVladimir Zapolskiy *(.got.plt) *(.got) 69afc3929fSMasahiro Yamada . = ALIGN(4); 708371dabbSVladimir Zapolskiy } >ram 71afc3929fSMasahiro Yamada PROVIDE (_egot = .); 72afc3929fSMasahiro Yamada 73afc3929fSMasahiro Yamada .u_boot_list : { 74afc3929fSMasahiro Yamada KEEP(*(SORT(.u_boot_list*))); 758371dabbSVladimir Zapolskiy } >ram 76afc3929fSMasahiro Yamada 77f41e6088SSimon Glass PROVIDE (__init_end = .); 78afc3929fSMasahiro Yamada PROVIDE (reloc_dst_end = .); 79afc3929fSMasahiro Yamada 80afc3929fSMasahiro Yamada PROVIDE (bss_start = .); 81afc3929fSMasahiro Yamada PROVIDE (__bss_start = .); 82afc3929fSMasahiro Yamada .bss : 83afc3929fSMasahiro Yamada { 84afc3929fSMasahiro Yamada *(.bss) 85afc3929fSMasahiro Yamada . = ALIGN(4); 868371dabbSVladimir Zapolskiy } >ram 87afc3929fSMasahiro Yamada PROVIDE (bss_end = .); 88afc3929fSMasahiro Yamada PROVIDE (__bss_end = .); 89afc3929fSMasahiro Yamada} 90