blob: fd0f1b5d4f444a2b75f701d63ee2bbf5c47fd68e [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Gabor Juhos7f444662013-01-30 04:31:52 +00002/*
3 * (C) Copyright 2003
4 * Wolfgang Denk Engineering, <wd@denx.de>
Gabor Juhos7f444662013-01-30 04:31:52 +00005 */
6
Gabor Juhos7f444662013-01-30 04:31:52 +00007OUTPUT_ARCH(mips)
8ENTRY(_start)
9SECTIONS
10{
11 . = 0x00000000;
12
13 . = ALIGN(4);
14 .text : {
Paul Burton92a06ee2016-09-21 11:11:06 +010015 __text_start = .;
Gabor Juhos7f444662013-01-30 04:31:52 +000016 *(.text*)
Paul Burton92a06ee2016-09-21 11:11:06 +010017 __text_end = .;
Gabor Juhos7f444662013-01-30 04:31:52 +000018 }
19
20 . = ALIGN(4);
21 .rodata : {
22 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
23 }
24
25 . = ALIGN(4);
26 .data : {
27 *(.data*)
28 }
29
Gabor Juhos7f444662013-01-30 04:31:52 +000030 . = ALIGN(4);
31 .sdata : {
32 *(.sdata*)
33 }
34
35 . = ALIGN(4);
36 .u_boot_list : {
Albert ARIBAUDc24895e2013-02-25 00:59:00 +000037 KEEP(*(SORT(.u_boot_list*)));
Gabor Juhos7f444662013-01-30 04:31:52 +000038 }
39
Gabor Juhos7f444662013-01-30 04:31:52 +000040 . = ALIGN(4);
Daniel Schwierzeck9049d032013-02-12 22:22:12 +010041 __image_copy_end = .;
Paul Burtond0589bb2014-04-07 10:11:19 +010042 __init_end = .;
Daniel Schwierzeck9049d032013-02-12 22:22:12 +010043
Daniel Schwierzeck80132862018-11-01 02:02:21 +010044 .data.reloc : {
Paul Burtond3a278d2017-06-19 11:53:47 -070045 __rel_start = .;
Daniel Schwierzeck80132862018-11-01 02:02:21 +010046 /*
47 * Space for relocation table
48 * This needs to be filled so that the
49 * mips-reloc tool can overwrite the content.
50 * An invalid value is left at the start of the
51 * section to abort relocation if the table
52 * has not been filled in.
53 */
54 LONG(0xFFFFFFFF);
55 FILL(0);
56 . += CONFIG_MIPS_RELOCATION_TABLE_SIZE - 4;
Daniel Schwierzeck4e6cdff2014-10-29 17:30:36 +010057 }
58
Daniel Schwierzeck80132862018-11-01 02:02:21 +010059 . = ALIGN(4);
Daniel Schwierzeck1263ea82013-10-11 17:46:59 +020060 _end = .;
Gabor Juhos44ea3c32013-02-12 22:22:13 +010061
Paul Burtond3a278d2017-06-19 11:53:47 -070062 .bss __rel_start (OVERLAY) : {
Daniel Schwierzeck56b5ec72013-02-12 22:22:12 +010063 __bss_start = .;
64 *(.sbss.*)
65 *(.bss.*)
66 *(COMMON)
Gabor Juhos7f444662013-01-30 04:31:52 +000067 . = ALIGN(4);
Daniel Schwierzeck56b5ec72013-02-12 22:22:12 +010068 __bss_end = .;
Gabor Juhos7f444662013-01-30 04:31:52 +000069 }
Gabor Juhos44ea3c32013-02-12 22:22:13 +010070
Daniel Schwierzeck1263ea82013-10-11 17:46:59 +020071 .dynsym _end : {
72 *(.dynsym)
73 }
74
75 .dynbss : {
Gabor Juhos44ea3c32013-02-12 22:22:13 +010076 *(.dynbss)
Daniel Schwierzeck1263ea82013-10-11 17:46:59 +020077 }
78
79 .dynstr : {
Gabor Juhos44ea3c32013-02-12 22:22:13 +010080 *(.dynstr)
Daniel Schwierzeck1263ea82013-10-11 17:46:59 +020081 }
82
83 .dynamic : {
Gabor Juhos44ea3c32013-02-12 22:22:13 +010084 *(.dynamic)
Daniel Schwierzeck1263ea82013-10-11 17:46:59 +020085 }
86
87 .plt : {
88 *(.plt)
89 }
90
91 .interp : {
Gabor Juhos44ea3c32013-02-12 22:22:13 +010092 *(.interp)
Daniel Schwierzeck1263ea82013-10-11 17:46:59 +020093 }
94
95 .gnu : {
96 *(.gnu*)
97 }
98
99 .MIPS.stubs : {
100 *(.MIPS.stubs)
101 }
102
103 .hash : {
Gabor Juhos44ea3c32013-02-12 22:22:13 +0100104 *(.hash)
Gabor Juhos44ea3c32013-02-12 22:22:13 +0100105 }
Gabor Juhos7f444662013-01-30 04:31:52 +0000106}