blob: bc240bd1bd5c28da4a73694b783d4c2a921f0dc6 [file] [log] [blame]
Mark Jonas35a398a2008-03-10 11:37:10 +01001/*
2 * Copyright (C) 2007
Mark Jonas35a398a2008-03-10 11:37:10 +01003 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 *
Masahiro Yamadaa9b82be2014-06-20 16:40:14 +09005 * Copyright (C) 2008-2009
6 * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
7 *
Mark Jonas35a398a2008-03-10 11:37:10 +01008 * Copyright (C) 2008
9 * Mark Jonas <mark.jonas@de.bosch.com>
Wolfgang Denk35f734f2008-04-13 09:59:26 -070010 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +020011 * SPDX-License-Identifier: GPL-2.0+
Mark Jonas35a398a2008-03-10 11:37:10 +010012 */
13
Vladimir Zapolskiyfd717702016-11-28 00:15:25 +020014#include "config.h"
15
Mark Jonas35a398a2008-03-10 11:37:10 +010016OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
17OUTPUT_ARCH(sh)
18ENTRY(_start)
19
20SECTIONS
21{
Vladimir Zapolskiy621f5702016-11-28 00:15:27 +020022 reloc_dst = .;
Mark Jonas35a398a2008-03-10 11:37:10 +010023
24 PROVIDE (_ftext = .);
25 PROVIDE (_fcode = .);
26 PROVIDE (_start = .);
27
28 .text :
29 {
Masahiro Yamadaa9b82be2014-06-20 16:40:14 +090030 KEEP(*/start.o (.text))
Vladimir Zapolskiy28d1b0e2016-11-28 00:15:26 +020031 KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.text .spiboot1.text))
Vladimir Zapolskiyfd717702016-11-28 00:15:25 +020032 KEEP(*(.spiboot2.text))
Mark Jonas35a398a2008-03-10 11:37:10 +010033 . = ALIGN(8192);
Jean-Christophe PLAGNIOL-VILLARD4436c1e2008-09-10 22:48:01 +020034 common/env_embedded.o (.ppcenv)
Mark Jonas35a398a2008-03-10 11:37:10 +010035 . = ALIGN(8192);
Jean-Christophe PLAGNIOL-VILLARD4436c1e2008-09-10 22:48:01 +020036 common/env_embedded.o (.ppcenvr)
Mark Jonas35a398a2008-03-10 11:37:10 +010037 . = ALIGN(8192);
38 *(.text)
39 . = ALIGN(4);
40 } =0xFF
41 PROVIDE (_ecode = .);
42 .rodata :
43 {
Trent Piepho4438e5e2009-02-18 15:22:05 -080044 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
Mark Jonas35a398a2008-03-10 11:37:10 +010045 . = ALIGN(4);
46 }
47 PROVIDE (_etext = .);
48
49
50 PROVIDE (_fdata = .);
51 .data :
52 {
53 *(.data)
54 . = ALIGN(4);
55 }
56 PROVIDE (_edata = .);
57
58 PROVIDE (_fgot = .);
59 .got :
60 {
61 *(.got)
62 . = ALIGN(4);
63 }
64 PROVIDE (_egot = .);
65
Mark Jonas35a398a2008-03-10 11:37:10 +010066
Marek Vasut607092a2012-10-12 10:27:03 +000067 .u_boot_list : {
Albert ARIBAUDc24895e2013-02-25 00:59:00 +000068 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut607092a2012-10-12 10:27:03 +000069 }
70
Simon Glass6c2afb82016-05-14 18:49:29 -060071 PROVIDE (__init_end = .);
Mark Jonas35a398a2008-03-10 11:37:10 +010072 PROVIDE (reloc_dst_end = .);
Mark Jonas35a398a2008-03-10 11:37:10 +010073
74 PROVIDE (bss_start = .);
75 PROVIDE (__bss_start = .);
76 .bss :
77 {
78 *(.bss)
79 . = ALIGN(4);
80 }
81 PROVIDE (bss_end = .);
82
Simon Glassed70c8f2013-03-14 06:54:53 +000083 PROVIDE (__bss_end = .);
Mark Jonas35a398a2008-03-10 11:37:10 +010084}