blob: b6fdde4d1b0c53e1069c36993d579df542a99a1a [file] [log] [blame]
Marek Vasut411b9ea2011-10-31 14:17:21 +01001/*
2 * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
3 * on behalf of DENX Software Engineering GmbH
4 *
5 * January 2004 - Changed to support H4 device
6 * Copyright (c) 2004-2008 Texas Instruments
7 *
8 * (C) Copyright 2002
9 * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
10 *
Wolfgang Denk1a459662013-07-08 09:37:19 +020011 * SPDX-License-Identifier: GPL-2.0+
Marek Vasut411b9ea2011-10-31 14:17:21 +010012 */
13
14OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
15OUTPUT_ARCH(arm)
16ENTRY(_start)
17SECTIONS
18{
19 . = CONFIG_SPL_TEXT_BASE;
20 .text.0 :
21 {
22 arch/arm/cpu/pxa/start.o (.text*)
Marek Vasut67decc72013-12-26 00:46:49 +010023 arch/arm/lib/built-in.o (.text*)
Masahiro Yamadae2906a52013-11-11 14:36:00 +090024 board/vpac270/built-in.o (.text*)
25 drivers/mtd/onenand/built-in.o (.text*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010026 }
27
28
29 /* Start of the rest of the SPL */
30 . = CONFIG_SPL_TEXT_BASE + 0x800;
31
32 .text.1 :
33 {
34 *(.text*)
35 }
36
37 . = ALIGN(4);
38 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
39
40 . = ALIGN(4);
41 .data : {
Benoît Thébaudeau1a9a91d2013-04-11 09:36:03 +000042 *(.data*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010043 }
44
Marek Vasut411b9ea2011-10-31 14:17:21 +010045 . = ALIGN(4);
46
Benoît Thébaudeau7086e912013-04-11 09:35:46 +000047 __image_copy_end = .;
48
Marek Vasut411b9ea2011-10-31 14:17:21 +010049 .rel.dyn : {
50 __rel_dyn_start = .;
51 *(.rel*)
52 __rel_dyn_end = .;
53 }
54
Marek Vasut411b9ea2011-10-31 14:17:21 +010055 . = ALIGN(0x800);
56
57 _end = .;
58
59 .bss __rel_dyn_start (OVERLAY) : {
60 __bss_start = .;
Benoît Thébaudeau1a9a91d2013-04-11 09:36:03 +000061 *(.bss*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010062 . = ALIGN(4);
Simon Glass3929fb02013-03-14 06:54:53 +000063 __bss_end = .;
Marek Vasut411b9ea2011-10-31 14:17:21 +010064 }
65
Albert ARIBAUD47ed5dd2013-11-07 14:21:46 +010066 .dynsym _end : { *(.dynsym) }
67 .dynbss : { *(.dynbss) }
68 .dynstr : { *(.dynstr*) }
69 .dynamic : { *(.dynamic*) }
70 .hash : { *(.hash*) }
71 .plt : { *(.plt*) }
72 .interp : { *(.interp*) }
73 .gnu : { *(.gnu*) }
74 .ARM.exidx : { *(.ARM.exidx*) }
Marek Vasut411b9ea2011-10-31 14:17:21 +010075}