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