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