xref: /rk3399_rockchip-uboot/arch/sh/cpu/u-boot.lds (revision bd95e655b2a42a2c8fe649ffae3dfec27eab5759)
1/*
2 * Copyright (C) 2016 Vladimir Zapolskiy <vz@mleia.com>
3 * Copyright (C) 2008-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4 * Copyright (C) 2008 Mark Jonas <mark.jonas@de.bosch.com>
5 * Copyright (C) 2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 *
7 * SPDX-License-Identifier:	GPL-2.0+
8 */
9
10#include "config.h"
11
12#ifdef CONFIG_SYS_BIG_ENDIAN
13OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-sh-linux")
14#else
15OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
16#endif
17
18OUTPUT_ARCH(sh)
19
20MEMORY
21{
22	ram	: ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
23}
24
25ENTRY(_start)
26
27SECTIONS
28{
29	reloc_dst = .;
30
31	PROVIDE (_ftext = .);
32	PROVIDE (_fcode = .);
33	PROVIDE (_start = .);
34
35	.text :
36	{
37		KEEP(*/start.o		(.text))
38		KEEP(CONFIG_BOARDDIR/lowlevel_init.o	(.text .spiboot1.text))
39		KEEP(*(.spiboot2.text))
40		. = ALIGN(8192);
41		*(.text)
42		. = ALIGN(4);
43	} >ram =0xFF
44	PROVIDE (_ecode = .);
45	.rodata :
46	{
47		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
48		. = ALIGN(4);
49	} >ram
50	PROVIDE (_etext = .);
51
52
53	PROVIDE (_fdata = .);
54	.data :
55	{
56		*(.data)
57		. = ALIGN(4);
58	} >ram
59	PROVIDE (_edata = .);
60
61	PROVIDE (_fgot = .);
62	.got :
63	{
64		*(.got.plt) *(.got)
65		. = ALIGN(4);
66	} >ram
67	PROVIDE (_egot = .);
68
69	.u_boot_list : {
70		KEEP(*(SORT(.u_boot_list*)));
71	} >ram
72
73	PROVIDE (__init_end = .);
74	PROVIDE (reloc_dst_end = .);
75
76	PROVIDE (bss_start = .);
77	PROVIDE (__bss_start = .);
78	.bss :
79	{
80		*(.bss)
81		. = ALIGN(4);
82	} >ram
83	PROVIDE (bss_end = .);
84	PROVIDE (__bss_end = .);
85}
86