blob: b0d892a59f4d341ae05b2f39fcb42e33ea0f48e3 [file] [log] [blame]
Sergey Kostanbaev7237d222014-06-25 23:44:29 +04001/*
2 *
3 * Copyright (C) 2013
4 * Sergey Kostanbaev <sergey.kostanbaev <at> fairwaves.ru>
5 *
6 * Copyright (c) 2004-2008 Texas Instruments
7 *
8 * (C) Copyright 2002
9 * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
10 *
11 * SPDX-License-Identifier: GPL-2.0+
12 */
13
14OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
15OUTPUT_ARCH(arm)
16ENTRY(_start)
17SECTIONS
18{
19 . = 0x00000000;
20
21 . = ALIGN(4);
22 .text : {
23 *(.__image_copy_start)
24 arch/arm/cpu/arm920t/start.o (.text*)
25 . = 0x1000;
26
27 LONG(0x53555243)
28 *(.text*)
29 }
30
31 . = ALIGN(4);
32 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
33
34 . = ALIGN(4);
35 .data : {
36 *(.data*)
37 }
38
39 . = ALIGN(4);
40
41 . = .;
42
43 . = ALIGN(4);
44 .u_boot_list : {
45 KEEP(*(SORT(.u_boot_list*)));
46 }
47
48 . = ALIGN(4);
49
50 .image_copy_end :
51 {
52 *(.__image_copy_end)
53 }
54
55 .rel_dyn_start :
56 {
57 *(.__rel_dyn_start)
58 }
59
60 .rel.dyn : {
61 *(.rel*)
62 }
63
64 .rel_dyn_end :
65 {
66 *(.__rel_dyn_end)
67 }
68
69 .end :
70 {
71 *(.__end)
72 }
73
74 _image_binary_end = .;
75
76 /*
77 * Deprecated: this MMU section is used by pxa at present but
78 * should not be used by new boards/CPUs.
79 */
80 . = ALIGN(4096);
81 .mmutable : {
82 *(.mmutable)
83 }
84
85/*
86 * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
87 * __bss_base and __bss_limit are for linker only (overlay ordering)
88 */
89
90 .bss_start __rel_dyn_start (OVERLAY) : {
91 KEEP(*(.__bss_start));
92 __bss_base = .;
93 }
94
95 .bss __bss_base (OVERLAY) : {
96 *(.bss*)
97 . = ALIGN(4);
98 __bss_limit = .;
99 }
100
101 .bss_end __bss_limit (OVERLAY) : {
102 KEEP(*(.__bss_end));
103 }
104
105 .dynsym _image_binary_end : { *(.dynsym) }
106 .dynbss : { *(.dynbss) }
107 .dynstr : { *(.dynstr*) }
108 .dynamic : { *(.dynamic*) }
109 .plt : { *(.plt*) }
110 .interp : { *(.interp*) }
111 .gnu.hash : { *(.gnu.hash) }
112 .gnu : { *(.gnu*) }
113 .ARM.exidx : { *(.ARM.exidx*) }
114 .gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
115}