blob: 30c7a9d3f8b86277377c6e1869d9799e83e7bb2b [file] [log] [blame]
Mark Jonas3313e0e2008-03-10 11:37:10 +01001/*
2 * Copyright (C) 2007
Mark Jonas3313e0e2008-03-10 11:37:10 +01003 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 *
Masahiro Yamadaafc39292014-06-20 16:40:14 +09005 * Copyright (C) 2008-2009
6 * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
7 *
Mark Jonas3313e0e2008-03-10 11:37:10 +01008 * Copyright (C) 2008
9 * Mark Jonas <mark.jonas@de.bosch.com>
Wolfgang Denk1aeed8d2008-04-13 09:59:26 -070010 *
Wolfgang Denk1a459662013-07-08 09:37:19 +020011 * SPDX-License-Identifier: GPL-2.0+
Mark Jonas3313e0e2008-03-10 11:37:10 +010012 */
13
14OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
15OUTPUT_ARCH(sh)
16ENTRY(_start)
17
18SECTIONS
19{
20 /*
Jean-Christophe PLAGNIOL-VILLARD236aad82009-06-04 12:06:44 +020021 * entry and reloct_dst will be provided via ldflags
22 */
23 . = .;
Mark Jonas3313e0e2008-03-10 11:37:10 +010024
25 PROVIDE (_ftext = .);
26 PROVIDE (_fcode = .);
27 PROVIDE (_start = .);
28
29 .text :
30 {
Masahiro Yamadaafc39292014-06-20 16:40:14 +090031 KEEP(*/start.o (.text))
Mark Jonas3313e0e2008-03-10 11:37:10 +010032 . = ALIGN(8192);
Jean-Christophe PLAGNIOL-VILLARD0cf4fd32008-09-10 22:48:01 +020033 common/env_embedded.o (.ppcenv)
Mark Jonas3313e0e2008-03-10 11:37:10 +010034 . = ALIGN(8192);
Jean-Christophe PLAGNIOL-VILLARD0cf4fd32008-09-10 22:48:01 +020035 common/env_embedded.o (.ppcenvr)
Mark Jonas3313e0e2008-03-10 11:37:10 +010036 . = ALIGN(8192);
37 *(.text)
38 . = ALIGN(4);
39 } =0xFF
40 PROVIDE (_ecode = .);
41 .rodata :
42 {
Trent Piephof62fb992009-02-18 15:22:05 -080043 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
Mark Jonas3313e0e2008-03-10 11:37:10 +010044 . = ALIGN(4);
45 }
46 PROVIDE (_etext = .);
47
48
49 PROVIDE (_fdata = .);
50 .data :
51 {
52 *(.data)
53 . = ALIGN(4);
54 }
55 PROVIDE (_edata = .);
56
57 PROVIDE (_fgot = .);
58 .got :
59 {
60 *(.got)
61 . = ALIGN(4);
62 }
63 PROVIDE (_egot = .);
64
Mark Jonas3313e0e2008-03-10 11:37:10 +010065
Marek Vasut55675142012-10-12 10:27:03 +000066 .u_boot_list : {
Albert ARIBAUDef123c52013-02-25 00:59:00 +000067 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut55675142012-10-12 10:27:03 +000068 }
69
Mark Jonas3313e0e2008-03-10 11:37:10 +010070 PROVIDE (reloc_dst_end = .);
71 /* _reloc_dst_end = .; */
72
73 PROVIDE (bss_start = .);
74 PROVIDE (__bss_start = .);
75 .bss :
76 {
77 *(.bss)
78 . = ALIGN(4);
79 }
80 PROVIDE (bss_end = .);
81
Simon Glass3929fb02013-03-14 06:54:53 +000082 PROVIDE (__bss_end = .);
Mark Jonas3313e0e2008-03-10 11:37:10 +010083}