1*afc3929fSMasahiro Yamada/* 2*afc3929fSMasahiro Yamada * Copyright (C) 2007 3*afc3929fSMasahiro Yamada * Nobuhiro Iwamatsu <iwamatsu@nigauri.org> 4*afc3929fSMasahiro Yamada * 5*afc3929fSMasahiro Yamada * Copyright (C) 2008-2009 6*afc3929fSMasahiro Yamada * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> 7*afc3929fSMasahiro Yamada * 8*afc3929fSMasahiro Yamada * Copyright (C) 2008 9*afc3929fSMasahiro Yamada * Mark Jonas <mark.jonas@de.bosch.com> 10*afc3929fSMasahiro Yamada * 11*afc3929fSMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 12*afc3929fSMasahiro Yamada */ 13*afc3929fSMasahiro Yamada 14*afc3929fSMasahiro YamadaOUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") 15*afc3929fSMasahiro YamadaOUTPUT_ARCH(sh) 16*afc3929fSMasahiro YamadaENTRY(_start) 17*afc3929fSMasahiro Yamada 18*afc3929fSMasahiro YamadaSECTIONS 19*afc3929fSMasahiro Yamada{ 20*afc3929fSMasahiro Yamada /* 21*afc3929fSMasahiro Yamada * entry and reloct_dst will be provided via ldflags 22*afc3929fSMasahiro Yamada */ 23*afc3929fSMasahiro Yamada . = .; 24*afc3929fSMasahiro Yamada 25*afc3929fSMasahiro Yamada PROVIDE (_ftext = .); 26*afc3929fSMasahiro Yamada PROVIDE (_fcode = .); 27*afc3929fSMasahiro Yamada PROVIDE (_start = .); 28*afc3929fSMasahiro Yamada 29*afc3929fSMasahiro Yamada .text : 30*afc3929fSMasahiro Yamada { 31*afc3929fSMasahiro Yamada KEEP(*/start.o (.text)) 32*afc3929fSMasahiro Yamada . = ALIGN(8192); 33*afc3929fSMasahiro Yamada common/env_embedded.o (.ppcenv) 34*afc3929fSMasahiro Yamada . = ALIGN(8192); 35*afc3929fSMasahiro Yamada common/env_embedded.o (.ppcenvr) 36*afc3929fSMasahiro Yamada . = ALIGN(8192); 37*afc3929fSMasahiro Yamada *(.text) 38*afc3929fSMasahiro Yamada . = ALIGN(4); 39*afc3929fSMasahiro Yamada } =0xFF 40*afc3929fSMasahiro Yamada PROVIDE (_ecode = .); 41*afc3929fSMasahiro Yamada .rodata : 42*afc3929fSMasahiro Yamada { 43*afc3929fSMasahiro Yamada *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 44*afc3929fSMasahiro Yamada . = ALIGN(4); 45*afc3929fSMasahiro Yamada } 46*afc3929fSMasahiro Yamada PROVIDE (_etext = .); 47*afc3929fSMasahiro Yamada 48*afc3929fSMasahiro Yamada 49*afc3929fSMasahiro Yamada PROVIDE (_fdata = .); 50*afc3929fSMasahiro Yamada .data : 51*afc3929fSMasahiro Yamada { 52*afc3929fSMasahiro Yamada *(.data) 53*afc3929fSMasahiro Yamada . = ALIGN(4); 54*afc3929fSMasahiro Yamada } 55*afc3929fSMasahiro Yamada PROVIDE (_edata = .); 56*afc3929fSMasahiro Yamada 57*afc3929fSMasahiro Yamada PROVIDE (_fgot = .); 58*afc3929fSMasahiro Yamada .got : 59*afc3929fSMasahiro Yamada { 60*afc3929fSMasahiro Yamada *(.got) 61*afc3929fSMasahiro Yamada . = ALIGN(4); 62*afc3929fSMasahiro Yamada } 63*afc3929fSMasahiro Yamada PROVIDE (_egot = .); 64*afc3929fSMasahiro Yamada 65*afc3929fSMasahiro Yamada 66*afc3929fSMasahiro Yamada .u_boot_list : { 67*afc3929fSMasahiro Yamada KEEP(*(SORT(.u_boot_list*))); 68*afc3929fSMasahiro Yamada } 69*afc3929fSMasahiro Yamada 70*afc3929fSMasahiro Yamada PROVIDE (reloc_dst_end = .); 71*afc3929fSMasahiro Yamada /* _reloc_dst_end = .; */ 72*afc3929fSMasahiro Yamada 73*afc3929fSMasahiro Yamada PROVIDE (bss_start = .); 74*afc3929fSMasahiro Yamada PROVIDE (__bss_start = .); 75*afc3929fSMasahiro Yamada .bss : 76*afc3929fSMasahiro Yamada { 77*afc3929fSMasahiro Yamada *(.bss) 78*afc3929fSMasahiro Yamada . = ALIGN(4); 79*afc3929fSMasahiro Yamada } 80*afc3929fSMasahiro Yamada PROVIDE (bss_end = .); 81*afc3929fSMasahiro Yamada 82*afc3929fSMasahiro Yamada PROVIDE (__bss_end = .); 83*afc3929fSMasahiro Yamada} 84