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