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