xref: /openbmc/u-boot/arch/arm/cpu/u-boot.lds (revision 47ed5dd031d7d2c587e6afd386e79ccec1a1b7f7)
1dde3b70dSSimon Glass/*
2dde3b70dSSimon Glass * Copyright (c) 2004-2008 Texas Instruments
3dde3b70dSSimon Glass *
4dde3b70dSSimon Glass * (C) Copyright 2002
5dde3b70dSSimon Glass * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
6dde3b70dSSimon Glass *
71a459660SWolfgang Denk * SPDX-License-Identifier:	GPL-2.0+
8dde3b70dSSimon Glass */
9dde3b70dSSimon Glass
10dde3b70dSSimon GlassOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
11dde3b70dSSimon GlassOUTPUT_ARCH(arm)
12dde3b70dSSimon GlassENTRY(_start)
13dde3b70dSSimon GlassSECTIONS
14dde3b70dSSimon Glass{
15dde3b70dSSimon Glass	. = 0x00000000;
16dde3b70dSSimon Glass
17dde3b70dSSimon Glass	. = ALIGN(4);
18dde3b70dSSimon Glass	.text :
19dde3b70dSSimon Glass	{
20d026dec8SAlbert ARIBAUD		*(.__image_copy_start)
21b68d6712SStephen Warren		CPUDIR/start.o (.text*)
22b68d6712SStephen Warren		*(.text*)
23dde3b70dSSimon Glass	}
24dde3b70dSSimon Glass
25dde3b70dSSimon Glass	. = ALIGN(4);
26dde3b70dSSimon Glass	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
27dde3b70dSSimon Glass
28dde3b70dSSimon Glass	. = ALIGN(4);
29dde3b70dSSimon Glass	.data : {
30b68d6712SStephen Warren		*(.data*)
31dde3b70dSSimon Glass	}
32dde3b70dSSimon Glass
33dde3b70dSSimon Glass	. = ALIGN(4);
34dde3b70dSSimon Glass
35dde3b70dSSimon Glass	. = .;
36dde3b70dSSimon Glass
37dde3b70dSSimon Glass	. = ALIGN(4);
3855675142SMarek Vasut	.u_boot_list : {
39ef123c52SAlbert ARIBAUD		KEEP(*(SORT(.u_boot_list*)));
4055675142SMarek Vasut	}
4155675142SMarek Vasut
4255675142SMarek Vasut	. = ALIGN(4);
43dde3b70dSSimon Glass
44d026dec8SAlbert ARIBAUD	.image_copy_end :
45d026dec8SAlbert ARIBAUD	{
46d026dec8SAlbert ARIBAUD		*(.__image_copy_end)
47d026dec8SAlbert ARIBAUD	}
48dde3b70dSSimon Glass
4947bd65efSAlbert ARIBAUD	.rel_dyn_start :
5047bd65efSAlbert ARIBAUD	{
5147bd65efSAlbert ARIBAUD		*(.__rel_dyn_start)
5247bd65efSAlbert ARIBAUD	}
5347bd65efSAlbert ARIBAUD
54dde3b70dSSimon Glass	.rel.dyn : {
55dde3b70dSSimon Glass		*(.rel*)
5647bd65efSAlbert ARIBAUD	}
5747bd65efSAlbert ARIBAUD
5847bd65efSAlbert ARIBAUD	.rel_dyn_end :
5947bd65efSAlbert ARIBAUD	{
6047bd65efSAlbert ARIBAUD		*(.__rel_dyn_end)
61dde3b70dSSimon Glass	}
62dde3b70dSSimon Glass
63dde3b70dSSimon Glass	_end = .;
64dde3b70dSSimon Glass
65dde3b70dSSimon Glass	/*
66dde3b70dSSimon Glass	 * Deprecated: this MMU section is used by pxa at present but
67dde3b70dSSimon Glass	 * should not be used by new boards/CPUs.
68dde3b70dSSimon Glass	 */
69dde3b70dSSimon Glass	. = ALIGN(4096);
70dde3b70dSSimon Glass	.mmutable : {
71dde3b70dSSimon Glass		*(.mmutable)
72dde3b70dSSimon Glass	}
73dde3b70dSSimon Glass
74f84a7b8fSAlbert ARIBAUD/*
75f84a7b8fSAlbert ARIBAUD * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
76f84a7b8fSAlbert ARIBAUD * __bss_base and __bss_limit are for linker only (overlay ordering)
77f84a7b8fSAlbert ARIBAUD */
78f84a7b8fSAlbert ARIBAUD
793ebd1cbcSAlbert ARIBAUD	.bss_start __rel_dyn_start (OVERLAY) : {
803ebd1cbcSAlbert ARIBAUD		KEEP(*(.__bss_start));
81f84a7b8fSAlbert ARIBAUD		__bss_base = .;
823ebd1cbcSAlbert ARIBAUD	}
833ebd1cbcSAlbert ARIBAUD
84f84a7b8fSAlbert ARIBAUD	.bss __bss_base (OVERLAY) : {
85b68d6712SStephen Warren		*(.bss*)
86dde3b70dSSimon Glass		 . = ALIGN(4);
87f84a7b8fSAlbert ARIBAUD		 __bss_limit = .;
88dde3b70dSSimon Glass	}
89dde3b70dSSimon Glass
90f84a7b8fSAlbert ARIBAUD	.bss_end __bss_limit (OVERLAY) : {
91f84a7b8fSAlbert ARIBAUD		KEEP(*(.__bss_end));
92dde3b70dSSimon Glass	}
93dde3b70dSSimon Glass
94*47ed5dd0SAlbert ARIBAUD	.dynsym _end : { *(.dynsym) }
95*47ed5dd0SAlbert ARIBAUD	.hash : { *(.hash) }
96*47ed5dd0SAlbert ARIBAUD	.got.plt : { *(.got.plt) }
97*47ed5dd0SAlbert ARIBAUD	.dynbss : { *(.dynbss) }
98*47ed5dd0SAlbert ARIBAUD	.dynstr : { *(.dynstr*) }
99*47ed5dd0SAlbert ARIBAUD	.dynamic : { *(.dynamic*) }
100*47ed5dd0SAlbert ARIBAUD	.plt : { *(.plt*) }
101*47ed5dd0SAlbert ARIBAUD	.interp : { *(.interp*) }
102*47ed5dd0SAlbert ARIBAUD	.gnu : { *(.gnu*) }
103*47ed5dd0SAlbert ARIBAUD	.ARM.exidx : { *(.ARM.exidx*) }
104dde3b70dSSimon Glass}
105