blob: 928b7c19e031c69f40ab0ba7f23d4a549df041f6 [file] [log] [blame]
Ian Campbellcba69ee2014-05-05 11:52:26 +01001/*
2 * (C) Copyright 2013
3 * Henrik Nordstrom <henrik@henriknordstrom.net>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
8OUTPUT_ARCH(arm)
9ENTRY(s_init)
10SECTIONS
11{
12 . = 0x00002000;
13
14 . = ALIGN(4);
15 .text :
16 {
17 *(.text.s_init)
18 *(.text*)
19 }
20
21 . = ALIGN(4);
22 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
23
24 . = ALIGN(4);
25 .data : {
26 *(.data*)
27 }
28
29 . = ALIGN(4);
Hans de Goede66203772014-06-13 22:55:49 +020030 .u_boot_list : {
31 KEEP(*(SORT(.u_boot_list*)));
32 }
33
34 . = ALIGN(4);
Ian Campbellcba69ee2014-05-05 11:52:26 +010035 . = .;
36
37 . = ALIGN(4);
38 .rel.dyn : {
39 __rel_dyn_start = .;
40 *(.rel*)
41 __rel_dyn_end = .;
42 }
43
44 .dynsym : {
45 __dynsym_start = .;
46 *(.dynsym)
47 }
48
49 . = ALIGN(4);
50 .note.gnu.build-id :
51 {
52 *(.note.gnu.build-id)
53 }
54 _end = .;
55
56 . = ALIGN(4096);
57 .mmutable : {
58 *(.mmutable)
59 }
60
61 .bss_start __rel_dyn_start (OVERLAY) : {
62 KEEP(*(.__bss_start));
63 __bss_base = .;
64 }
65
66 .bss __bss_base (OVERLAY) : {
67 *(.bss*)
68 . = ALIGN(4);
69 __bss_limit = .;
70 }
71
72 .bss_end __bss_limit (OVERLAY) : {
73 KEEP(*(.__bss_end));
74 }
75
76 /DISCARD/ : { *(.dynstr*) }
77 /DISCARD/ : { *(.dynamic*) }
78 /DISCARD/ : { *(.plt*) }
79 /DISCARD/ : { *(.interp*) }
80 /DISCARD/ : { *(.gnu*) }
81 /DISCARD/ : { *(.note*) }
82}