xref: /openbmc/u-boot/board/cirrus/edb93xx/u-boot.lds (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */
27237d22bSSergey Kostanbaev/*
37237d22bSSergey Kostanbaev *
47237d22bSSergey Kostanbaev * Copyright (C) 2013
57237d22bSSergey Kostanbaev * Sergey Kostanbaev <sergey.kostanbaev <at> fairwaves.ru>
67237d22bSSergey Kostanbaev *
77237d22bSSergey Kostanbaev * Copyright (c) 2004-2008 Texas Instruments
87237d22bSSergey Kostanbaev *
97237d22bSSergey Kostanbaev * (C) Copyright 2002
107237d22bSSergey Kostanbaev * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
117237d22bSSergey Kostanbaev */
127237d22bSSergey Kostanbaev
137237d22bSSergey KostanbaevOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
147237d22bSSergey KostanbaevOUTPUT_ARCH(arm)
157237d22bSSergey KostanbaevENTRY(_start)
167237d22bSSergey KostanbaevSECTIONS
177237d22bSSergey Kostanbaev{
187237d22bSSergey Kostanbaev	. = 0x00000000;
197237d22bSSergey Kostanbaev
207237d22bSSergey Kostanbaev	. = ALIGN(4);
217237d22bSSergey Kostanbaev	.text : {
227237d22bSSergey Kostanbaev		*(.__image_copy_start)
230bf62d7bSSergey Kostanbaev		*(.vectors)
247237d22bSSergey Kostanbaev		arch/arm/cpu/arm920t/start.o (.text*)
257237d22bSSergey Kostanbaev		. = 0x1000;
267237d22bSSergey Kostanbaev
277237d22bSSergey Kostanbaev		LONG(0x53555243)
287237d22bSSergey Kostanbaev		*(.text*)
297237d22bSSergey Kostanbaev	}
307237d22bSSergey Kostanbaev
317237d22bSSergey Kostanbaev	. = ALIGN(4);
327237d22bSSergey Kostanbaev	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
337237d22bSSergey Kostanbaev
347237d22bSSergey Kostanbaev	. = ALIGN(4);
357237d22bSSergey Kostanbaev	.data : {
367237d22bSSergey Kostanbaev		*(.data*)
377237d22bSSergey Kostanbaev	}
387237d22bSSergey Kostanbaev
397237d22bSSergey Kostanbaev	. = ALIGN(4);
407237d22bSSergey Kostanbaev
417237d22bSSergey Kostanbaev	. = .;
427237d22bSSergey Kostanbaev
437237d22bSSergey Kostanbaev	. = ALIGN(4);
447237d22bSSergey Kostanbaev	.u_boot_list : {
457237d22bSSergey Kostanbaev		KEEP(*(SORT(.u_boot_list*)));
467237d22bSSergey Kostanbaev	}
477237d22bSSergey Kostanbaev
487237d22bSSergey Kostanbaev	. = ALIGN(4);
497237d22bSSergey Kostanbaev
507237d22bSSergey Kostanbaev	.image_copy_end :
517237d22bSSergey Kostanbaev	{
527237d22bSSergey Kostanbaev		*(.__image_copy_end)
537237d22bSSergey Kostanbaev	}
547237d22bSSergey Kostanbaev
557237d22bSSergey Kostanbaev	.rel_dyn_start :
567237d22bSSergey Kostanbaev	{
577237d22bSSergey Kostanbaev		*(.__rel_dyn_start)
587237d22bSSergey Kostanbaev	}
597237d22bSSergey Kostanbaev
607237d22bSSergey Kostanbaev	.rel.dyn : {
617237d22bSSergey Kostanbaev		*(.rel*)
627237d22bSSergey Kostanbaev	}
637237d22bSSergey Kostanbaev
647237d22bSSergey Kostanbaev	.rel_dyn_end :
657237d22bSSergey Kostanbaev	{
667237d22bSSergey Kostanbaev		*(.__rel_dyn_end)
677237d22bSSergey Kostanbaev	}
687237d22bSSergey Kostanbaev
697237d22bSSergey Kostanbaev	.end :
707237d22bSSergey Kostanbaev	{
717237d22bSSergey Kostanbaev		*(.__end)
727237d22bSSergey Kostanbaev	}
737237d22bSSergey Kostanbaev
747237d22bSSergey Kostanbaev	_image_binary_end = .;
757237d22bSSergey Kostanbaev
767237d22bSSergey Kostanbaev	/*
777237d22bSSergey Kostanbaev	 * Deprecated: this MMU section is used by pxa at present but
787237d22bSSergey Kostanbaev	 * should not be used by new boards/CPUs.
797237d22bSSergey Kostanbaev	 */
807237d22bSSergey Kostanbaev	. = ALIGN(4096);
817237d22bSSergey Kostanbaev	.mmutable : {
827237d22bSSergey Kostanbaev		*(.mmutable)
837237d22bSSergey Kostanbaev	}
847237d22bSSergey Kostanbaev
857237d22bSSergey Kostanbaev/*
867237d22bSSergey Kostanbaev * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
877237d22bSSergey Kostanbaev * __bss_base and __bss_limit are for linker only (overlay ordering)
887237d22bSSergey Kostanbaev */
897237d22bSSergey Kostanbaev
907237d22bSSergey Kostanbaev	.bss_start __rel_dyn_start (OVERLAY) : {
917237d22bSSergey Kostanbaev		KEEP(*(.__bss_start));
927237d22bSSergey Kostanbaev		__bss_base = .;
937237d22bSSergey Kostanbaev	}
947237d22bSSergey Kostanbaev
957237d22bSSergey Kostanbaev	.bss __bss_base (OVERLAY) : {
967237d22bSSergey Kostanbaev		*(.bss*)
977237d22bSSergey Kostanbaev		 . = ALIGN(4);
987237d22bSSergey Kostanbaev		 __bss_limit = .;
997237d22bSSergey Kostanbaev	}
1007237d22bSSergey Kostanbaev
1017237d22bSSergey Kostanbaev	.bss_end __bss_limit (OVERLAY) : {
1027237d22bSSergey Kostanbaev		KEEP(*(.__bss_end));
1037237d22bSSergey Kostanbaev	}
1047237d22bSSergey Kostanbaev
1057237d22bSSergey Kostanbaev	.dynsym _image_binary_end : { *(.dynsym) }
1067237d22bSSergey Kostanbaev	.dynbss : { *(.dynbss) }
1077237d22bSSergey Kostanbaev	.dynstr : { *(.dynstr*) }
1087237d22bSSergey Kostanbaev	.dynamic : { *(.dynamic*) }
1097237d22bSSergey Kostanbaev	.plt : { *(.plt*) }
1107237d22bSSergey Kostanbaev	.interp : { *(.interp*) }
1117237d22bSSergey Kostanbaev	.gnu.hash : { *(.gnu.hash) }
1127237d22bSSergey Kostanbaev	.gnu : { *(.gnu*) }
1137237d22bSSergey Kostanbaev	.ARM.exidx : { *(.ARM.exidx*) }
1147237d22bSSergey Kostanbaev	.gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
1157237d22bSSergey Kostanbaev}
116