]> git.sur5r.net Git - u-boot/blob - arch/sh/cpu/u-boot.lds
bbf9ff485f3ae0b2c8c85c77d957b173e3f34894
[u-boot] / arch / sh / cpu / u-boot.lds
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 OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
13 OUTPUT_ARCH(sh)
14
15 MEMORY
16 {
17         ram     : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
18 }
19
20 ENTRY(_start)
21
22 SECTIONS
23 {
24         reloc_dst = .;
25
26         PROVIDE (_ftext = .);
27         PROVIDE (_fcode = .);
28         PROVIDE (_start = .);
29
30         .text :
31         {
32                 KEEP(*/start.o          (.text))
33                 KEEP(CONFIG_BOARDDIR/lowlevel_init.o    (.text .spiboot1.text))
34                 KEEP(*(.spiboot2.text))
35                 . = ALIGN(8192);
36                 common/env_embedded.o   (.ppcenv)
37                 . = ALIGN(8192);
38                 common/env_embedded.o   (.ppcenvr)
39                 . = ALIGN(8192);
40                 *(.text)
41                 . = ALIGN(4);
42         } >ram =0xFF
43         PROVIDE (_ecode = .);
44         .rodata :
45         {
46                 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
47                 . = ALIGN(4);
48         } >ram
49         PROVIDE (_etext = .);
50
51
52         PROVIDE (_fdata = .);
53         .data :
54         {
55                 *(.data)
56                 . = ALIGN(4);
57         } >ram
58         PROVIDE (_edata = .);
59
60         PROVIDE (_fgot = .);
61         .got :
62         {
63                 *(.got.plt) *(.got)
64                 . = ALIGN(4);
65         } >ram
66         PROVIDE (_egot = .);
67
68         .u_boot_list : {
69                 KEEP(*(SORT(.u_boot_list*)));
70         } >ram
71
72         PROVIDE (__init_end = .);
73         PROVIDE (reloc_dst_end = .);
74
75         PROVIDE (bss_start = .);
76         PROVIDE (__bss_start = .);
77         .bss :
78         {
79                 *(.bss)
80                 . = ALIGN(4);
81         } >ram
82         PROVIDE (bss_end = .);
83         PROVIDE (__bss_end = .);
84 }