xref: /rk3399_rockchip-uboot/arch/sh/cpu/u-boot.lds (revision 9ec4a67ef342b2dbcecc9721f5369f022ea59b26)
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