1afc3929fSMasahiro Yamada/* 2*8371dabbSVladimir Zapolskiy * Copyright (C) 2016 Vladimir Zapolskiy <vz@mleia.com> 3*8371dabbSVladimir Zapolskiy * Copyright (C) 2008-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> 4*8371dabbSVladimir Zapolskiy * Copyright (C) 2008 Mark Jonas <mark.jonas@de.bosch.com> 5*8371dabbSVladimir 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 12afc3929fSMasahiro YamadaOUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") 13afc3929fSMasahiro YamadaOUTPUT_ARCH(sh) 14*8371dabbSVladimir Zapolskiy 15*8371dabbSVladimir ZapolskiyMEMORY 16*8371dabbSVladimir Zapolskiy{ 17*8371dabbSVladimir Zapolskiy ram : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE 18*8371dabbSVladimir Zapolskiy} 19*8371dabbSVladimir Zapolskiy 20afc3929fSMasahiro YamadaENTRY(_start) 21afc3929fSMasahiro Yamada 22afc3929fSMasahiro YamadaSECTIONS 23afc3929fSMasahiro Yamada{ 24b26d2507SVladimir Zapolskiy reloc_dst = .; 25afc3929fSMasahiro Yamada 26afc3929fSMasahiro Yamada PROVIDE (_ftext = .); 27afc3929fSMasahiro Yamada PROVIDE (_fcode = .); 28afc3929fSMasahiro Yamada PROVIDE (_start = .); 29afc3929fSMasahiro Yamada 30afc3929fSMasahiro Yamada .text : 31afc3929fSMasahiro Yamada { 32afc3929fSMasahiro Yamada KEEP(*/start.o (.text)) 339ec4a67eSVladimir Zapolskiy KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.text .spiboot1.text)) 343f8b5391SVladimir Zapolskiy KEEP(*(.spiboot2.text)) 35afc3929fSMasahiro Yamada . = ALIGN(8192); 36afc3929fSMasahiro Yamada common/env_embedded.o (.ppcenv) 37afc3929fSMasahiro Yamada . = ALIGN(8192); 38afc3929fSMasahiro Yamada common/env_embedded.o (.ppcenvr) 39afc3929fSMasahiro Yamada . = ALIGN(8192); 40afc3929fSMasahiro Yamada *(.text) 41afc3929fSMasahiro Yamada . = ALIGN(4); 42*8371dabbSVladimir Zapolskiy } >ram =0xFF 43afc3929fSMasahiro Yamada PROVIDE (_ecode = .); 44afc3929fSMasahiro Yamada .rodata : 45afc3929fSMasahiro Yamada { 46afc3929fSMasahiro Yamada *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 47afc3929fSMasahiro Yamada . = ALIGN(4); 48*8371dabbSVladimir Zapolskiy } >ram 49afc3929fSMasahiro Yamada PROVIDE (_etext = .); 50afc3929fSMasahiro Yamada 51afc3929fSMasahiro Yamada 52afc3929fSMasahiro Yamada PROVIDE (_fdata = .); 53afc3929fSMasahiro Yamada .data : 54afc3929fSMasahiro Yamada { 55afc3929fSMasahiro Yamada *(.data) 56afc3929fSMasahiro Yamada . = ALIGN(4); 57*8371dabbSVladimir Zapolskiy } >ram 58afc3929fSMasahiro Yamada PROVIDE (_edata = .); 59afc3929fSMasahiro Yamada 60afc3929fSMasahiro Yamada PROVIDE (_fgot = .); 61afc3929fSMasahiro Yamada .got : 62afc3929fSMasahiro Yamada { 63afc3929fSMasahiro Yamada *(.got) 64afc3929fSMasahiro Yamada . = ALIGN(4); 65*8371dabbSVladimir Zapolskiy } >ram 66afc3929fSMasahiro Yamada PROVIDE (_egot = .); 67afc3929fSMasahiro Yamada 68afc3929fSMasahiro Yamada .u_boot_list : { 69afc3929fSMasahiro Yamada KEEP(*(SORT(.u_boot_list*))); 70*8371dabbSVladimir Zapolskiy } >ram 71afc3929fSMasahiro Yamada 72f41e6088SSimon Glass PROVIDE (__init_end = .); 73afc3929fSMasahiro Yamada PROVIDE (reloc_dst_end = .); 74afc3929fSMasahiro Yamada 75afc3929fSMasahiro Yamada PROVIDE (bss_start = .); 76afc3929fSMasahiro Yamada PROVIDE (__bss_start = .); 77afc3929fSMasahiro Yamada .bss : 78afc3929fSMasahiro Yamada { 79afc3929fSMasahiro Yamada *(.bss) 80afc3929fSMasahiro Yamada . = ALIGN(4); 81*8371dabbSVladimir Zapolskiy } >ram 82afc3929fSMasahiro Yamada PROVIDE (bss_end = .); 83afc3929fSMasahiro Yamada PROVIDE (__bss_end = .); 84afc3929fSMasahiro Yamada} 85