blob: 954afb9f8b7446383101f8033f442db05855c33b [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 {
Benoît Thébaudeaueeadd3f2014-08-21 15:43:11 +020022 *(.vectors)
Marek Vasut411b9ea2011-10-31 14:17:21 +010023 arch/arm/cpu/pxa/start.o (.text*)
Marek Vasut67decc72013-12-26 00:46:49 +010024 arch/arm/lib/built-in.o (.text*)
Masahiro Yamadae2906a52013-11-11 14:36:00 +090025 board/vpac270/built-in.o (.text*)
Masahiro Yamadad6c2ac52015-08-12 07:31:44 +090026 drivers/built-in.o (.text*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010027 }
28
29
30 /* Start of the rest of the SPL */
31 . = CONFIG_SPL_TEXT_BASE + 0x800;
32
33 .text.1 :
34 {
35 *(.text*)
36 }
37
38 . = ALIGN(4);
39 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
40
41 . = ALIGN(4);
42 .data : {
Benoît Thébaudeau1a9a91d2013-04-11 09:36:03 +000043 *(.data*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010044 }
45
Marek Vasut411b9ea2011-10-31 14:17:21 +010046 . = ALIGN(4);
47
Benoît Thébaudeau7086e912013-04-11 09:35:46 +000048 __image_copy_end = .;
49
Marek Vasut411b9ea2011-10-31 14:17:21 +010050 .rel.dyn : {
51 __rel_dyn_start = .;
52 *(.rel*)
53 __rel_dyn_end = .;
54 }
55
Marek Vasut411b9ea2011-10-31 14:17:21 +010056 . = ALIGN(0x800);
57
Albert ARIBAUDd0b5d9d2014-02-22 17:53:42 +010058 .end :
59 {
60 *(.__end)
61 }
62
63 _image_binary_end = .;
Marek Vasut411b9ea2011-10-31 14:17:21 +010064
65 .bss __rel_dyn_start (OVERLAY) : {
66 __bss_start = .;
Benoît Thébaudeau1a9a91d2013-04-11 09:36:03 +000067 *(.bss*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010068 . = ALIGN(4);
Simon Glass3929fb02013-03-14 06:54:53 +000069 __bss_end = .;
Marek Vasut411b9ea2011-10-31 14:17:21 +010070 }
71
Albert ARIBAUDd0b5d9d2014-02-22 17:53:42 +010072 .dynsym _image_binary_end : { *(.dynsym) }
Albert ARIBAUD47ed5dd2013-11-07 14:21:46 +010073 .dynbss : { *(.dynbss) }
74 .dynstr : { *(.dynstr*) }
75 .dynamic : { *(.dynamic*) }
76 .hash : { *(.hash*) }
77 .plt : { *(.plt*) }
78 .interp : { *(.interp*) }
79 .gnu : { *(.gnu*) }
80 .ARM.exidx : { *(.ARM.exidx*) }
Marek Vasut411b9ea2011-10-31 14:17:21 +010081}