blob: 4027fe3af5e2392f76861516913ee356eae21581 [file] [log] [blame]
Yoshihiro Shimoda8e9c8972011-02-02 10:05:36 +09001/*
2 * Copyright (C) 2007
3 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 *
5 * Copyright (C) 2011
6 * Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
7 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02008 * SPDX-License-Identifier: GPL-2.0+
Yoshihiro Shimoda8e9c8972011-02-02 10:05:36 +09009 */
10
11OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
12OUTPUT_ARCH(sh)
13ENTRY(_start)
14
15SECTIONS
16{
17 /*
18 * entry and reloct_dst will be provided via ldflags
19 */
20 . = .;
21
22 PROVIDE (_ftext = .);
23 PROVIDE (_fcode = .);
24 PROVIDE (_start = .);
25
26 .text :
27 {
Yoshihiro Shimodad61cd372011-07-05 17:15:16 +090028 KEEP(arch/sh/cpu/sh4/start.o (.text))
Yoshihiro Shimoda8e9c8972011-02-02 10:05:36 +090029 *(.spiboot1.text)
30 *(.spiboot2.text)
31 . = ALIGN(8192);
32 common/env_embedded.o (.ppcenv)
33 . = ALIGN(8192);
34 common/env_embedded.o (.ppcenvr)
35 . = ALIGN(8192);
36 *(.text)
37 . = ALIGN(4);
38 } =0xFF
39 PROVIDE (_ecode = .);
40 .rodata :
41 {
42 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
43 . = ALIGN(4);
44 }
45 PROVIDE (_etext = .);
46
47
48 PROVIDE (_fdata = .);
49 .data :
50 {
51 *(.data)
52 . = ALIGN(4);
53 }
54 PROVIDE (_edata = .);
55
56 PROVIDE (_fgot = .);
57 .got :
58 {
59 *(.got)
60 . = ALIGN(4);
61 }
62 PROVIDE (_egot = .);
63
Yoshihiro Shimoda8e9c8972011-02-02 10:05:36 +090064
Marek Vasut55675142012-10-12 10:27:03 +000065 .u_boot_list : {
Albert ARIBAUDef123c52013-02-25 00:59:00 +000066 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut55675142012-10-12 10:27:03 +000067 }
68
Yoshihiro Shimoda8e9c8972011-02-02 10:05:36 +090069 PROVIDE (reloc_dst_end = .);
70 /* _reloc_dst_end = .; */
71
72 PROVIDE (bss_start = .);
73 PROVIDE (__bss_start = .);
74 .bss (NOLOAD) :
75 {
76 *(.bss)
77 . = ALIGN(4);
78 }
79 PROVIDE (bss_end = .);
80
Simon Glass3929fb02013-03-14 06:54:53 +000081 PROVIDE (__bss_end = .);
Yoshihiro Shimoda8e9c8972011-02-02 10:05:36 +090082}