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