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